How to clear a selected value in Selectize.js dropdown?

后端 未结 6 1692
离开以前
离开以前 2021-02-05 00:39

I have a selectize.js dropdown and I have to clear the selected value .

I have tried this (as suggested in another question):

var selectize = $(\"#option         


        
相关标签:
6条回答
  • 2021-02-05 00:49
    $(document).on('click', 'div.selectize-input div.item', function(e) {
        var select = $('#services').selectize();
        var selectSizeControl = select[0].selectize;
        // 1. Get the value
        var selectedValue = $(this).attr("data-value");
        // 2. Remove the option
        select[0].selectize.removeItem(selectedValue);
        // 3. Refresh the select
        select[0].selectize.refreshItems();
        select[0].selectize.refreshOptions();
    });
    

    This do not remove the item from the select, just remove it from the selected options.

    0 讨论(0)
  • 2021-02-05 00:50

    Try this,

    $("#optionNetFlow")[0].selectize.clear();
    
    0 讨论(0)
  • 2021-02-05 00:51

    I finally found the answer here Selectize.js Demos

    What works for me is:

     var $select = $('#optionNetFlow').selectize();
     var control = $select[0].selectize;
     control.clear();
    

    what I was missing var $select = $('#optionNetFlow').selectize(); before applying the solution provided in above question's answer.

    Now I am to get all the functions in console like :

    enter image description here

    0 讨论(0)
  • 2021-02-05 00:57

    Try this out:- http://jsfiddle.net/adiioo7/2gnq1ruv/204/

    JS:-

    jQuery(function ($) {
        var $select = $('#input-tags').selectize({
            persist: false,
            create: true
        });
    
        $("#btnClear").on("click", function () {
            var selectize = $select[0].selectize;
            selectize.clear();
    
        });
    });
    
    0 讨论(0)
  • 2021-02-05 01:06

    Or if you have multi select, and do want to restore selected items in the drop-down list (hide selected set to true).

    var selectize = $("#select-item").selectize;
    //clone array
    var items = selectize.items.slice(0);
    for (var i in items) {
        selectize.removeItem(items[i]);
    }
    selectize.refreshOptions();
    
    0 讨论(0)
  • 2021-02-05 01:12

    All other answers either clear a single selectize or need a specific reference to the selectize in the moment of it's creation.

    The solution below, on the other hand, works for any number of selectize elements you have inside any form; you just need to specify the desired form:

    $('form').find('.selectized').each(function(index, element) { element.selectize && element.selectize.clear() })
    

    The rationale is that Selectize keeps the original element in the DOM (hiding it), adds a reference to the selectize on the .selectize property of the DOM element and adds a CSS class selectized to it.

    So the solution finds all the elements that have the CSS class selectized, loops through them and calls element.selectize.clear().

    0 讨论(0)
提交回复
热议问题