我必须在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)
);
});
并且在这里和那里几乎没有什么变化。请建议。
修改
或者有没有办法隐藏下拉列表中的所有选项,只有当过滤器与其中任何一个匹配时才显示它们!
答案 0 :(得分:0)
您可以使用:
$('<option />', {
value: "test",
text: "test"
}).appendTo("#test");
$("#test").multiselect('refresh');
您可以在成功时在ajax调用中移动它,并使用您获得的结果填充它。