引导选择动态切换多个属性

时间:2018-10-31 08:10:41

标签: javascript jquery web-applications bootstrap-selectpicker

我正在尝试编写一个函数,以将多重选择的引导程序选择器下拉菜单切换到单选模式,然后再切换回多选。到目前为止,这在我自己做的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个项目)

标记了错误的选择

wrong selection marked

如您所见,我选择了Karlsson,并将其正确地添加到顶部,但glyphicon-ok出现在Lundqvist

有人知道此错误可能来自何处吗?我竭尽全力摆脱这种情况,似乎无济于事。

0 个答案:

没有答案