Form not reading the select attribute when added option via ajax












0














I am prepending an <option> via ajax like this:



    success: function(data) {
jQuery('#usp-cat-combo-1').prepend('<option selected="selected" value="'+data.cat_id+'">'+data.cat_name+'</option>');
}


The thing is when I submit the form, that option says not selected and I need to manually select it, even tho I have given the attribute selectedwhen I added it










share|improve this question






















  • I tried in snippet and it works maybe something along the line of codes is messing the selected option?
    – guradio
    Nov 12 '18 at 4:54
















0














I am prepending an <option> via ajax like this:



    success: function(data) {
jQuery('#usp-cat-combo-1').prepend('<option selected="selected" value="'+data.cat_id+'">'+data.cat_name+'</option>');
}


The thing is when I submit the form, that option says not selected and I need to manually select it, even tho I have given the attribute selectedwhen I added it










share|improve this question






















  • I tried in snippet and it works maybe something along the line of codes is messing the selected option?
    – guradio
    Nov 12 '18 at 4:54














0












0








0







I am prepending an <option> via ajax like this:



    success: function(data) {
jQuery('#usp-cat-combo-1').prepend('<option selected="selected" value="'+data.cat_id+'">'+data.cat_name+'</option>');
}


The thing is when I submit the form, that option says not selected and I need to manually select it, even tho I have given the attribute selectedwhen I added it










share|improve this question













I am prepending an <option> via ajax like this:



    success: function(data) {
jQuery('#usp-cat-combo-1').prepend('<option selected="selected" value="'+data.cat_id+'">'+data.cat_name+'</option>');
}


The thing is when I submit the form, that option says not selected and I need to manually select it, even tho I have given the attribute selectedwhen I added it







javascript jquery






share|improve this question













share|improve this question











share|improve this question




share|improve this question










asked Nov 12 '18 at 4:45









rob.m

3,674103882




3,674103882












  • I tried in snippet and it works maybe something along the line of codes is messing the selected option?
    – guradio
    Nov 12 '18 at 4:54


















  • I tried in snippet and it works maybe something along the line of codes is messing the selected option?
    – guradio
    Nov 12 '18 at 4:54
















I tried in snippet and it works maybe something along the line of codes is messing the selected option?
– guradio
Nov 12 '18 at 4:54




I tried in snippet and it works maybe something along the line of codes is messing the selected option?
– guradio
Nov 12 '18 at 4:54












2 Answers
2






active

oldest

votes


















1














Try setting value of the <select> instead of setting selected attribute on the option



jQuery('#usp-cat-combo-1')
.prepend('<option value="'+data.cat_id+'">'+data.cat_name+'</option>');
.val(data.cat_id)


Note this assumes the <select> is not a multiple. If it is a multiple can set prop('selected',true) on the new first child






share|improve this answer





















  • I tried the OP and it works I think something else is causing the problem
    – guradio
    Nov 12 '18 at 4:54










  • @guradio was thinking the same to be honest
    – charlietfl
    Nov 12 '18 at 4:55










  • You are both right. issue was somewhere else. But this solution works tho
    – rob.m
    Nov 12 '18 at 4:56



















-1














What you have to do:



Defined the option which you want to select by default like:



var selected;
success: function(data) {
data.cat_id=='1' ? selected = 'selected="selected"' : selected = '';
jQuery('#usp-cat-combo-1').prepend('<option '+selected+' value="'+data.cat_id+'">'+data.cat_name+'</option>');
}


Now it just add Selected Attribute at one option that you defined not every option.



Note :




  1. Assume that you have data as an array.

  2. You can use data.cat_name or other as you want instead of cat_id to defined your Selected Option.


Feel free to comment for more help or other simplification :)






share|improve this answer





















    Your Answer






    StackExchange.ifUsing("editor", function () {
    StackExchange.using("externalEditor", function () {
    StackExchange.using("snippets", function () {
    StackExchange.snippets.init();
    });
    });
    }, "code-snippets");

    StackExchange.ready(function() {
    var channelOptions = {
    tags: "".split(" "),
    id: "1"
    };
    initTagRenderer("".split(" "), "".split(" "), channelOptions);

    StackExchange.using("externalEditor", function() {
    // Have to fire editor after snippets, if snippets enabled
    if (StackExchange.settings.snippets.snippetsEnabled) {
    StackExchange.using("snippets", function() {
    createEditor();
    });
    }
    else {
    createEditor();
    }
    });

    function createEditor() {
    StackExchange.prepareEditor({
    heartbeatType: 'answer',
    autoActivateHeartbeat: false,
    convertImagesToLinks: true,
    noModals: true,
    showLowRepImageUploadWarning: true,
    reputationToPostImages: 10,
    bindNavPrevention: true,
    postfix: "",
    imageUploader: {
    brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
    contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
    allowUrls: true
    },
    onDemand: true,
    discardSelector: ".discard-answer"
    ,immediatelyShowMarkdownHelp:true
    });


    }
    });














    draft saved

    draft discarded


















    StackExchange.ready(
    function () {
    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53256090%2fform-not-reading-the-select-attribute-when-added-option-via-ajax%23new-answer', 'question_page');
    }
    );

    Post as a guest















    Required, but never shown

























    2 Answers
    2






    active

    oldest

    votes








    2 Answers
    2






    active

    oldest

    votes









    active

    oldest

    votes






    active

    oldest

    votes









    1














    Try setting value of the <select> instead of setting selected attribute on the option



    jQuery('#usp-cat-combo-1')
    .prepend('<option value="'+data.cat_id+'">'+data.cat_name+'</option>');
    .val(data.cat_id)


    Note this assumes the <select> is not a multiple. If it is a multiple can set prop('selected',true) on the new first child






    share|improve this answer





















    • I tried the OP and it works I think something else is causing the problem
      – guradio
      Nov 12 '18 at 4:54










    • @guradio was thinking the same to be honest
      – charlietfl
      Nov 12 '18 at 4:55










    • You are both right. issue was somewhere else. But this solution works tho
      – rob.m
      Nov 12 '18 at 4:56
















    1














    Try setting value of the <select> instead of setting selected attribute on the option



    jQuery('#usp-cat-combo-1')
    .prepend('<option value="'+data.cat_id+'">'+data.cat_name+'</option>');
    .val(data.cat_id)


    Note this assumes the <select> is not a multiple. If it is a multiple can set prop('selected',true) on the new first child






    share|improve this answer





















    • I tried the OP and it works I think something else is causing the problem
      – guradio
      Nov 12 '18 at 4:54










    • @guradio was thinking the same to be honest
      – charlietfl
      Nov 12 '18 at 4:55










    • You are both right. issue was somewhere else. But this solution works tho
      – rob.m
      Nov 12 '18 at 4:56














    1












    1








    1






    Try setting value of the <select> instead of setting selected attribute on the option



    jQuery('#usp-cat-combo-1')
    .prepend('<option value="'+data.cat_id+'">'+data.cat_name+'</option>');
    .val(data.cat_id)


    Note this assumes the <select> is not a multiple. If it is a multiple can set prop('selected',true) on the new first child






    share|improve this answer












    Try setting value of the <select> instead of setting selected attribute on the option



    jQuery('#usp-cat-combo-1')
    .prepend('<option value="'+data.cat_id+'">'+data.cat_name+'</option>');
    .val(data.cat_id)


    Note this assumes the <select> is not a multiple. If it is a multiple can set prop('selected',true) on the new first child







    share|improve this answer












    share|improve this answer



    share|improve this answer










    answered Nov 12 '18 at 4:50









    charlietfl

    139k1386118




    139k1386118












    • I tried the OP and it works I think something else is causing the problem
      – guradio
      Nov 12 '18 at 4:54










    • @guradio was thinking the same to be honest
      – charlietfl
      Nov 12 '18 at 4:55










    • You are both right. issue was somewhere else. But this solution works tho
      – rob.m
      Nov 12 '18 at 4:56


















    • I tried the OP and it works I think something else is causing the problem
      – guradio
      Nov 12 '18 at 4:54










    • @guradio was thinking the same to be honest
      – charlietfl
      Nov 12 '18 at 4:55










    • You are both right. issue was somewhere else. But this solution works tho
      – rob.m
      Nov 12 '18 at 4:56
















    I tried the OP and it works I think something else is causing the problem
    – guradio
    Nov 12 '18 at 4:54




    I tried the OP and it works I think something else is causing the problem
    – guradio
    Nov 12 '18 at 4:54












    @guradio was thinking the same to be honest
    – charlietfl
    Nov 12 '18 at 4:55




    @guradio was thinking the same to be honest
    – charlietfl
    Nov 12 '18 at 4:55












    You are both right. issue was somewhere else. But this solution works tho
    – rob.m
    Nov 12 '18 at 4:56




    You are both right. issue was somewhere else. But this solution works tho
    – rob.m
    Nov 12 '18 at 4:56













    -1














    What you have to do:



    Defined the option which you want to select by default like:



    var selected;
    success: function(data) {
    data.cat_id=='1' ? selected = 'selected="selected"' : selected = '';
    jQuery('#usp-cat-combo-1').prepend('<option '+selected+' value="'+data.cat_id+'">'+data.cat_name+'</option>');
    }


    Now it just add Selected Attribute at one option that you defined not every option.



    Note :




    1. Assume that you have data as an array.

    2. You can use data.cat_name or other as you want instead of cat_id to defined your Selected Option.


    Feel free to comment for more help or other simplification :)






    share|improve this answer


























      -1














      What you have to do:



      Defined the option which you want to select by default like:



      var selected;
      success: function(data) {
      data.cat_id=='1' ? selected = 'selected="selected"' : selected = '';
      jQuery('#usp-cat-combo-1').prepend('<option '+selected+' value="'+data.cat_id+'">'+data.cat_name+'</option>');
      }


      Now it just add Selected Attribute at one option that you defined not every option.



      Note :




      1. Assume that you have data as an array.

      2. You can use data.cat_name or other as you want instead of cat_id to defined your Selected Option.


      Feel free to comment for more help or other simplification :)






      share|improve this answer
























        -1












        -1








        -1






        What you have to do:



        Defined the option which you want to select by default like:



        var selected;
        success: function(data) {
        data.cat_id=='1' ? selected = 'selected="selected"' : selected = '';
        jQuery('#usp-cat-combo-1').prepend('<option '+selected+' value="'+data.cat_id+'">'+data.cat_name+'</option>');
        }


        Now it just add Selected Attribute at one option that you defined not every option.



        Note :




        1. Assume that you have data as an array.

        2. You can use data.cat_name or other as you want instead of cat_id to defined your Selected Option.


        Feel free to comment for more help or other simplification :)






        share|improve this answer












        What you have to do:



        Defined the option which you want to select by default like:



        var selected;
        success: function(data) {
        data.cat_id=='1' ? selected = 'selected="selected"' : selected = '';
        jQuery('#usp-cat-combo-1').prepend('<option '+selected+' value="'+data.cat_id+'">'+data.cat_name+'</option>');
        }


        Now it just add Selected Attribute at one option that you defined not every option.



        Note :




        1. Assume that you have data as an array.

        2. You can use data.cat_name or other as you want instead of cat_id to defined your Selected Option.


        Feel free to comment for more help or other simplification :)







        share|improve this answer












        share|improve this answer



        share|improve this answer










        answered Nov 12 '18 at 6:34









        Harry

        1485




        1485






























            draft saved

            draft discarded




















































            Thanks for contributing an answer to Stack Overflow!


            • Please be sure to answer the question. Provide details and share your research!

            But avoid



            • Asking for help, clarification, or responding to other answers.

            • Making statements based on opinion; back them up with references or personal experience.


            To learn more, see our tips on writing great answers.





            Some of your past answers have not been well-received, and you're in danger of being blocked from answering.


            Please pay close attention to the following guidance:


            • Please be sure to answer the question. Provide details and share your research!

            But avoid



            • Asking for help, clarification, or responding to other answers.

            • Making statements based on opinion; back them up with references or personal experience.


            To learn more, see our tips on writing great answers.




            draft saved


            draft discarded














            StackExchange.ready(
            function () {
            StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53256090%2fform-not-reading-the-select-attribute-when-added-option-via-ajax%23new-answer', 'question_page');
            }
            );

            Post as a guest















            Required, but never shown





















































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown

































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown







            Popular posts from this blog

            Full-time equivalent

            Bicuculline

            さくらももこ