web-dev-qa-db-ja.com

動的Bootstrap Multiselectを作成する方法

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
    });
});

各オプションを動的にbootstrap multiselectに追加しようとしていますが、正しく機能していません

ここのデモページ: http://jsfiddle.net/pL4hg76b/1/

しかし、静的に動作します: http://jsfiddle.net/KyleMit/7yq7fvsq/

16
Chithra Mohan

.multiselect('rebuild')を使用した後、.append()multiselectのメソッドを使用する必要があります

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

pdated Fiddle


完全なコード

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

追加する必要があります

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

ボタンクリックイベントの最後に移動して、複数選択を再構築します。

6
Jamie Dunstan