How can I open a newly-cloned Bootstrap select field?












1















I'm trying to clone a bootstrap select field, and open the clone immediately.



The code below toggles the original select field.



$('.selectpicker').selectpicker("toggle");


However, when I try to toggle the cloned field, the cloned field is only selected, not opened.



Example here: http://jsfiddle.net/jh4wztab/4/



What can I do to have the cloned bootstrap-select open up immediately after cloning?



HTML



<div id="jurisdictionpicker">
<select class="selectpicker jurisdiction" data-live-search="true" data-size="8" id="jurisdiction_">
<option>Philly</option>
<option>DC</option>
<option>New York</option>
</select>
</div>

<BR><BR><BR><BR><BR><BR><BR><BR>

<button id="clonejurisdiction">Clone</button>
<B>Cloned version:</B>
<div class="juris_name">
</div>


Jquery:



$('.selectpicker').selectpicker("toggle");

$(document).on("click", "#clonejurisdiction", function() {
addselectpicker();
});

function addselectpicker() {
var clone = $('#jurisdictionpicker').clone();
clone.find(".selectpicker").attr("id",'jurisdictionpicker2');
clone.find("[data-id='jurisdiction_']").remove();
clone.appendTo(".juris_name");
clone.find('.selectpicker').selectpicker("toggle");
}









share|improve this question

























  • Part of the issue may be the duplicate IDs you're creating. Use incrementing or something else to keep them unique.

    – isherwood
    Nov 19 '18 at 21:19











  • Don't think that's it. Even if I change the div ID, it does not work...also, the right clone is being highlighted (so the toggle is at least highlighting the field)...but it's not toggling

    – user749798
    Nov 19 '18 at 21:24


















1















I'm trying to clone a bootstrap select field, and open the clone immediately.



The code below toggles the original select field.



$('.selectpicker').selectpicker("toggle");


However, when I try to toggle the cloned field, the cloned field is only selected, not opened.



Example here: http://jsfiddle.net/jh4wztab/4/



What can I do to have the cloned bootstrap-select open up immediately after cloning?



HTML



<div id="jurisdictionpicker">
<select class="selectpicker jurisdiction" data-live-search="true" data-size="8" id="jurisdiction_">
<option>Philly</option>
<option>DC</option>
<option>New York</option>
</select>
</div>

<BR><BR><BR><BR><BR><BR><BR><BR>

<button id="clonejurisdiction">Clone</button>
<B>Cloned version:</B>
<div class="juris_name">
</div>


Jquery:



$('.selectpicker').selectpicker("toggle");

$(document).on("click", "#clonejurisdiction", function() {
addselectpicker();
});

function addselectpicker() {
var clone = $('#jurisdictionpicker').clone();
clone.find(".selectpicker").attr("id",'jurisdictionpicker2');
clone.find("[data-id='jurisdiction_']").remove();
clone.appendTo(".juris_name");
clone.find('.selectpicker').selectpicker("toggle");
}









share|improve this question

























  • Part of the issue may be the duplicate IDs you're creating. Use incrementing or something else to keep them unique.

    – isherwood
    Nov 19 '18 at 21:19











  • Don't think that's it. Even if I change the div ID, it does not work...also, the right clone is being highlighted (so the toggle is at least highlighting the field)...but it's not toggling

    – user749798
    Nov 19 '18 at 21:24
















1












1








1








I'm trying to clone a bootstrap select field, and open the clone immediately.



The code below toggles the original select field.



$('.selectpicker').selectpicker("toggle");


However, when I try to toggle the cloned field, the cloned field is only selected, not opened.



Example here: http://jsfiddle.net/jh4wztab/4/



What can I do to have the cloned bootstrap-select open up immediately after cloning?



HTML



<div id="jurisdictionpicker">
<select class="selectpicker jurisdiction" data-live-search="true" data-size="8" id="jurisdiction_">
<option>Philly</option>
<option>DC</option>
<option>New York</option>
</select>
</div>

<BR><BR><BR><BR><BR><BR><BR><BR>

<button id="clonejurisdiction">Clone</button>
<B>Cloned version:</B>
<div class="juris_name">
</div>


Jquery:



$('.selectpicker').selectpicker("toggle");

$(document).on("click", "#clonejurisdiction", function() {
addselectpicker();
});

function addselectpicker() {
var clone = $('#jurisdictionpicker').clone();
clone.find(".selectpicker").attr("id",'jurisdictionpicker2');
clone.find("[data-id='jurisdiction_']").remove();
clone.appendTo(".juris_name");
clone.find('.selectpicker').selectpicker("toggle");
}









share|improve this question
















I'm trying to clone a bootstrap select field, and open the clone immediately.



The code below toggles the original select field.



$('.selectpicker').selectpicker("toggle");


However, when I try to toggle the cloned field, the cloned field is only selected, not opened.



Example here: http://jsfiddle.net/jh4wztab/4/



What can I do to have the cloned bootstrap-select open up immediately after cloning?



HTML



<div id="jurisdictionpicker">
<select class="selectpicker jurisdiction" data-live-search="true" data-size="8" id="jurisdiction_">
<option>Philly</option>
<option>DC</option>
<option>New York</option>
</select>
</div>

<BR><BR><BR><BR><BR><BR><BR><BR>

<button id="clonejurisdiction">Clone</button>
<B>Cloned version:</B>
<div class="juris_name">
</div>


Jquery:



$('.selectpicker').selectpicker("toggle");

$(document).on("click", "#clonejurisdiction", function() {
addselectpicker();
});

function addselectpicker() {
var clone = $('#jurisdictionpicker').clone();
clone.find(".selectpicker").attr("id",'jurisdictionpicker2');
clone.find("[data-id='jurisdiction_']").remove();
clone.appendTo(".juris_name");
clone.find('.selectpicker').selectpicker("toggle");
}






javascript jquery twitter-bootstrap bootstrap-4 bootstrap-select






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited Nov 19 '18 at 21:31









isherwood

36.6k1081111




36.6k1081111










asked Nov 19 '18 at 21:11









user749798user749798

1,50083058




1,50083058













  • Part of the issue may be the duplicate IDs you're creating. Use incrementing or something else to keep them unique.

    – isherwood
    Nov 19 '18 at 21:19











  • Don't think that's it. Even if I change the div ID, it does not work...also, the right clone is being highlighted (so the toggle is at least highlighting the field)...but it's not toggling

    – user749798
    Nov 19 '18 at 21:24





















  • Part of the issue may be the duplicate IDs you're creating. Use incrementing or something else to keep them unique.

    – isherwood
    Nov 19 '18 at 21:19











  • Don't think that's it. Even if I change the div ID, it does not work...also, the right clone is being highlighted (so the toggle is at least highlighting the field)...but it's not toggling

    – user749798
    Nov 19 '18 at 21:24



















Part of the issue may be the duplicate IDs you're creating. Use incrementing or something else to keep them unique.

– isherwood
Nov 19 '18 at 21:19





Part of the issue may be the duplicate IDs you're creating. Use incrementing or something else to keep them unique.

– isherwood
Nov 19 '18 at 21:19













Don't think that's it. Even if I change the div ID, it does not work...also, the right clone is being highlighted (so the toggle is at least highlighting the field)...but it's not toggling

– user749798
Nov 19 '18 at 21:24







Don't think that's it. Even if I change the div ID, it does not work...also, the right clone is being highlighted (so the toggle is at least highlighting the field)...but it's not toggling

– user749798
Nov 19 '18 at 21:24














1 Answer
1






active

oldest

votes


















1














Seems to work if you wrap things in a timeout. Maybe the plugin needs time to do its thing.



$('.selectpicker').selectpicker("toggle");
var index = 1;

$(document).on("click", "#clonejurisdiction", function() {
addselectpicker();
});

function addselectpicker() {
var clone = $('#jurisdictionpicker').clone();
clone.attr('id', 'jurisdictionpicker' + index);
clone.find(".selectpicker").attr("id", 'jurisdictionpicker' + index);
index++;
clone.find("[data-id='jurisdiction_']").remove();
clone.appendTo(".juris_name");

setTimeout(function() {
clone.find('.selectpicker').selectpicker("toggle");
}, 0);
}


Demo






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%2f53382693%2fhow-can-i-open-a-newly-cloned-bootstrap-select-field%23new-answer', 'question_page');
    }
    );

    Post as a guest















    Required, but never shown

























    1 Answer
    1






    active

    oldest

    votes








    1 Answer
    1






    active

    oldest

    votes









    active

    oldest

    votes






    active

    oldest

    votes









    1














    Seems to work if you wrap things in a timeout. Maybe the plugin needs time to do its thing.



    $('.selectpicker').selectpicker("toggle");
    var index = 1;

    $(document).on("click", "#clonejurisdiction", function() {
    addselectpicker();
    });

    function addselectpicker() {
    var clone = $('#jurisdictionpicker').clone();
    clone.attr('id', 'jurisdictionpicker' + index);
    clone.find(".selectpicker").attr("id", 'jurisdictionpicker' + index);
    index++;
    clone.find("[data-id='jurisdiction_']").remove();
    clone.appendTo(".juris_name");

    setTimeout(function() {
    clone.find('.selectpicker').selectpicker("toggle");
    }, 0);
    }


    Demo






    share|improve this answer




























      1














      Seems to work if you wrap things in a timeout. Maybe the plugin needs time to do its thing.



      $('.selectpicker').selectpicker("toggle");
      var index = 1;

      $(document).on("click", "#clonejurisdiction", function() {
      addselectpicker();
      });

      function addselectpicker() {
      var clone = $('#jurisdictionpicker').clone();
      clone.attr('id', 'jurisdictionpicker' + index);
      clone.find(".selectpicker").attr("id", 'jurisdictionpicker' + index);
      index++;
      clone.find("[data-id='jurisdiction_']").remove();
      clone.appendTo(".juris_name");

      setTimeout(function() {
      clone.find('.selectpicker').selectpicker("toggle");
      }, 0);
      }


      Demo






      share|improve this answer


























        1












        1








        1







        Seems to work if you wrap things in a timeout. Maybe the plugin needs time to do its thing.



        $('.selectpicker').selectpicker("toggle");
        var index = 1;

        $(document).on("click", "#clonejurisdiction", function() {
        addselectpicker();
        });

        function addselectpicker() {
        var clone = $('#jurisdictionpicker').clone();
        clone.attr('id', 'jurisdictionpicker' + index);
        clone.find(".selectpicker").attr("id", 'jurisdictionpicker' + index);
        index++;
        clone.find("[data-id='jurisdiction_']").remove();
        clone.appendTo(".juris_name");

        setTimeout(function() {
        clone.find('.selectpicker').selectpicker("toggle");
        }, 0);
        }


        Demo






        share|improve this answer













        Seems to work if you wrap things in a timeout. Maybe the plugin needs time to do its thing.



        $('.selectpicker').selectpicker("toggle");
        var index = 1;

        $(document).on("click", "#clonejurisdiction", function() {
        addselectpicker();
        });

        function addselectpicker() {
        var clone = $('#jurisdictionpicker').clone();
        clone.attr('id', 'jurisdictionpicker' + index);
        clone.find(".selectpicker").attr("id", 'jurisdictionpicker' + index);
        index++;
        clone.find("[data-id='jurisdiction_']").remove();
        clone.appendTo(".juris_name");

        setTimeout(function() {
        clone.find('.selectpicker').selectpicker("toggle");
        }, 0);
        }


        Demo







        share|improve this answer












        share|improve this answer



        share|improve this answer










        answered Nov 19 '18 at 21:26









        isherwoodisherwood

        36.6k1081111




        36.6k1081111






























            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.




            draft saved


            draft discarded














            StackExchange.ready(
            function () {
            StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53382693%2fhow-can-i-open-a-newly-cloned-bootstrap-select-field%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

            MongoDB - Not Authorized To Execute Command

            How to fix TextFormField cause rebuild widget in Flutter

            in spring boot 2.1 many test slices are not allowed anymore due to multiple @BootstrapWith