onInitialized 如何在 Bootstrap-multiselect 中工作

dem*_*emo 5 javascript jquery twitter-bootstrap bootstrap-multiselect

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

如何在不创建重复项的情况下在初始化步骤中设置选定的值?

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


正如我注意到的,在例外他们不初始化选择,他们只是使用 event 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'
         }
});
Run Code Online (Sandbox Code Playgroud)

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

Zak*_*rki 3

更新了小提琴

发生这种情况select是因为应该始终调用一个选项.multiselect()(初始化插件),因此在您的情况下,您的插件将在您使用它时第二次初始化。

onInitialized()是当多选完成初始化时触发的函数。

select选项还可以在插件初始化后选择给定值,因此您可以像这样使用它:

$('.multiple').multiselect('select', 2);
Run Code Online (Sandbox Code Playgroud)

希望这可以帮助。