如何使用jquery将选项添加到jquery multi-select-filter下拉列表中

时间:2014-09-11 10:14:59

标签: javascript jquery drop-down-menu

我必须在jquery的multiselect-filter下拉列表中使用ajax调用向我的下拉列表中添加选项。

这是我的jsfiddle

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

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

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

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)从这里我得到了source

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

并且在这里和那里几乎没有什么变化。请建议。

修改

或者有没有办法隐藏下拉列表中的所有选项,只有当过滤器与其中任何一个匹配时才显示它们!

1 个答案:

答案 0 :(得分:0)

您可以使用:

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

fiddle

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