我正在尝试编写一个函数,以将多重选择的引导程序选择器下拉菜单切换到单选模式,然后再切换回多选。到目前为止,这在我自己做的jsfiddle中仍然有效:
html:
<body>
<select id="dropdown-test" class="selectpicker" multiple>
<option>Mustard</option>
<option>Ketchup</option>
<option>Barbecue</option>
</select>
</body>
<button id="btn-switch" type="button" class="btn btn-primary" onclick="switchMultiSelect()">Multi-select</button>
js:
var a = 0;
function switchMultiSelect() {
if(a == 0){
$('#dropdown-test').removeAttr("multiple");
$('#dropdown-test').selectpicker('destroy');
$('#dropdown-test').selectpicker();
$('#btn-switch').text("Single-select");
console.log('remove multiple');
a = 1;
}else{
$('#dropdown-test').attr("multiple","true");
$('#dropdown-test').selectpicker('destroy');
$('#dropdown-test').selectpicker();
$('#btn-switch').text("Multi-select");
a = 0;
console.log('add multiple');
}
$('.dropdown-test').selectpicker('refresh');
}
https://jsfiddle.net/DTcHh/95799
我的Web应用程序非常复杂,我在其中将选项从数据库动态添加到引导选择下拉列表中。我可以切换到单选模式,但是当我切换回多选模式时,字形图标会出现在错误的项目(不是用户选择的项目,而是标记列表的第n + 1个项目)>
标记了错误的选择
如您所见,我选择了Karlsson,并将其正确地添加到顶部,但glyphicon-ok出现在Lundqvist
有人知道此错误可能来自何处吗?我竭尽全力摆脱这种情况,似乎无济于事。