6

アプリケーションのドロップダウンにbootstrap-multiselectを使用しています。最初に選択した値に戻したい場合のフォームのリセットを除いて、すべて正常に機能します。メニューを閉じると(複数選択のリストを作成するなど)、選択した値が期待どおりにメニューに表示されますが、メニューを開くと、選択した項目のチェックボックスがチェックされません。

私は無駄に次のことを試しました:

$("#MyMenu").multiselect('refresh');
$("#MyMenu").multiselect('rebuild');
$("#MyMenu").multiselect('destroy');

に続く

$("#MyMenu").multiselect();

どんな助けでも大歓迎です!

4

8 に答える 8

9

私にとっては、次のように簡単に機能します。

$('#id').multiselect('refresh');

ただし、フォーム入力が実際にリセットされる前にリセット イベントが発生することに注意する必要があります。実際には、これは以下が機能しないことを意味します。

$('#formID').on('reset', function(){
    $('#id').multiselect('refresh');
});

呼び出しを瞬間的な setTimeout 内にラップすると機能します!

$('#formID').on('reset', function(){
    setTimeout(function(){
        $('#id').multiselect('refresh');
    });
});
于 2014-11-13T15:33:14.083 に答える
2

試行錯誤の末、最終的にこのように解決しました。

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

$('#MyMenu option:selected').each(function () {
    $(":checkbox[value=" + $(this).val() + "]").attr('checked', true)
})
于 2014-09-30T16:15:31.110 に答える
0

以下のコードを順番に実行することで、複数選択のリセットが機能しました。

$('#ID').multiselect('deselectAll', false);    
$('#ID').multiselect('select', []);   
于 2016-06-01T10:53:04.807 に答える