onInitial如何在Bootstrap-multiselect

时间:2016-03-01 16:42:11

标签: javascript jquery twitter-bootstrap bootstrap-multiselect

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

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

非现场的样本效果很好。 https://jsbin.com/yupinelefa/edit?html,js,console

正如我注意到的那样,在示例中,他们不会初始化选择,他们只使用事件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'
         }
});

但是这个脚本会创建一个额外的选择。因此,我有一个选择值选择&#39; 2&#39;和一个空的选择。 对我而言,似乎.multiselect()的每次调用都会创建新的选择。这样对吗?感谢。

1 个答案:

答案 0 :(得分:1)

<强> Updated fiddle

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

  

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

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

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

希望这有帮助。