17

我正在尝试使用 Bootstrap multiselect ,我使用了以下代码

html

<input type="text" id="addRow"/>
<input type="button" id="btn" value="Add"/>
<form id="form1">
   <div style="padding:20px">
     <select id="chkveg" multiple="multiple">
     </select>
   </div>
</form>

和脚本

$(function () {
    $('#btn').click(function () {
        var val = $("#addRow").val();
        var htm = '';
        htm += '<option>' + val + '</option>';
        $('#chkveg').append(htm);
    });
    $('#chkveg').multiselect({
        includeSelectAllOption: true
    });
});

我正在尝试将每个选项动态添加到引导多选,但它无法正常工作

演示页面:http: //jsfiddle.net/pL4hg76b/1/

但它是静态工作的:http: //jsfiddle.net/KyleMit/7yq7fvsq/

4

3 回答 3

37

使用后需要使用.multiselect('rebuild')多选方法.append()

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

更新小提琴


完整代码

$(function () {
    $('#btn').click(function () {
        var val = $("#addRow").val();
        var htm = '';
        htm += '<option>' + val + '</option>';
        $('#chkveg').append(htm);
        $('#chkveg').multiselect('rebuild');
    });
    $('#chkveg').multiselect({
        includeSelectAllOption: true
    });
});
于 2015-05-18T10:25:36.550 回答
6

您需要添加

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

到按钮单击事件的末尾以重建多选。

于 2015-05-18T10:25:40.933 回答
-2

您可以append将您的列表引导ul到您的select

$('.multiselect-container').append(htm);
$('#chkveg').append(htm);

这是新的演示:http: //jsfiddle.net/pL4hg76b/2/

于 2015-05-18T10:23:47.820 回答