如何使用MultiSelect jQuery插件添加选项

时间:2011-06-23 20:07:30

标签: jquery multi-select

我正在使用jQuery - MultiSelect插件。

我希望能够在初始选择框中添加一个选项,然后使用新选项更新MultiSelect用户界面。

这是我所拥有的(不起作用)。

var value = $("#newGroup").val();
$('#Select1').append("<option value=\"" + value + "\">" + value + "</option>");

然后我尝试调用相同的代码来重新创建多选以及其他选项,例如首先销毁它。

以下是我用来实现插件的代码。

$("#Select1").multiselect({ sortable: false, searchable: true });

这是插件的主页: http://quasipartikel.at/multiselect_next/

4 个答案:

答案 0 :(得分:17)

您是否拥有最新版本的MultiSelect? 1.8版现在添加了一个刷新命令,旨在更新列表以反映新添加或删除的选项。您的代码序列应为:

var value = $("#newGroup").val();
$('#Select1').append("<option value=\"" + value + "\">" + value + "</option>");
$('#Select1').multiselect( 'refresh' );

答案 1 :(得分:3)

尝试使用

$('.multiselect').multiselect('destroy');
$('.multiselect').multiselect();

答案 2 :(得分:2)

对于旧版本,您可以试试这个

$('select').multiselect('destroy').removeData().multiselect();

'destroy'方法不会从select节点中删除数据,因此当您尝试再次初始化它时,它会认为它已经初始化。 removeData()解决了这个问题。

新版本具有'刷新'方法,因此您可以将一些选项附加到选择并调用

$('select').multiselect('refresh');

当multiselect已经初始化时。

答案 3 :(得分:0)

即使我被卡在这样的东西中,也就是当我将选项附加到select之后,因为它没有更新多选,所以我得到了下面的解决方案。

$('#Select1').append("<option value=\"" + value + "\">" + value + "</option>");

在此之后添加此行。

$('#Select1').multiselect('rebuild');

它将重新构建具有最新数据的多选。