如何使用jquery将选项添加到jquery多选过滤器下拉列表中

How to add options into jquery multi-select-filter drop down using jquery

本文关键字:jquery 过滤器 下拉列表 添加 何使用 选项      更新时间:2023-09-26

我必须在jquery的多选过滤器下拉列表中使用ajax调用将选项添加到下拉列表中。

这是我的jsfiddle

在用户在过滤器中键入内容之前,我不必在下拉列表中显示任何数据。当用户在过滤器框中键入任何内容时,将进行一次ajax调用,并填充下拉列表。我对ajax调用很满意,但知道如何在下拉列表中添加新选项。

我已经尝试了以下所有选项,以便将选项添加到我的下拉列表中。

1) 从这里我得到了想法的来源。这是一个无限循环。

var el = $("#id").multiselect();
$("#id").multiselect().multiselectfilter({
    filter: function(event, matches){           
        var v = "val", opt = $('<option />', {
            value: v,
            text: v
        });
        opt.appendTo( el );    
        el.multiselect('refresh');
     }
});

2) 从这里我得到了想法来源

var myOptions = {
    val1 : 'text1',
    val2 : 'text2'
};
var mySelect = $('#mySelect');
$.each(myOptions, function(val, text) {
    mySelect.append(
        $('<option></option>').val(val).html(text)
    );
});

很少有变化。请提出建议。

编辑

或者有没有办法从下拉列表中隐藏所有选项,并仅在筛选器与其中任何一个匹配时显示它们!!!

您可以使用这个:

$('<option />', {
            value: "test",
            text: "test"
        }).appendTo("#test");
$("#test").multiselect('refresh');

小提琴

您可以在成功时在ajax调用中移动它,并在那里填充您得到的结果。