javascript – 如何onInitialized在Bootstrap-multiselect中工作

很简单的例子:
https://jsfiddle.net/x6z6w0n8/8/

如何在初始化步骤中设置选定值而不创建重复?

来自异地的样本效果很好. https://jsbin.com/yupinelefa/edit?html,js,console

正如我注意到的那样,在off-example中他们没有初始化select,他们只是使用onInitialized事件.但是当我初始化(设置选项)以在onInitialized事件中选择然后没有任何改变时,我也有2个选择.

一般来说 – 我在页面上有bootstrap-multiselect. OnInitialization我想在其中设置选定的值.
我有下一个代码作为示例:

<select id="example-onInitialized" multiple="multiple" class="multiple">
     <option value="1">Option 1</option>
     <option value="2">Option 2</option>
     <option value="3">Option 3</option>
     <option value="4">Option 4</option>
     <option value="5">Option 5</option>
     <option value="6">Option 6</option>
</select>

$('.multiselect').multiselect({
            onInitialized: function(select, container) {
               $(select).multiselect('select', 2); // I want to select item with value '2'
         }
});

但是此脚本会创建一个额外的选择.因此,我有一个选择值为’2’和一个空选择.
对我来说,似乎每次调用.multiselect()都会创建新的选择.这样对吗?谢谢.

最佳答案
Updated fiddle.

发生这种情况是因为select是一个应该始终在.multiselect()上调用的选项(初始化插件),所以在你的情况下你的插件将在你使用它时第二次被启动.

onInitialized() is a function which is triggered when the multiselect is finished initializing.

选择选项用于在插件初始化后选择给定的值,因此您可以像以下一样使用它:

$('.multiple').multiselect('select', 2);

希望这可以帮助.

点赞