引导选择手动选择的选项不会重置

时间:2018-10-30 21:00:15

标签: bootstrap-selectpicker

我正在使用jQuery,bootstrap 4和bootstrap-select 1.13.2。

我需要能够手动选择引导程序选择器选项,并使用表单重置按钮清除它们,而不会触发任何事件。

我正在创建动态的引导程序选择selectpicker选项,并保存用户在sessionStorage中选择的任何内容,以便在提交表单后恢复用户的选择。我的意图是使用下面的代码手动选择在选择器中选择的任何项目。因此,如果用户离开页面并稍后返回,则我将引导选择selectpicker中的每个选项的“ selected”属性设置为true。我不确定如何在不使用selectpickers“ val()”属性触发不想要的更改事件的情况下设置所选选项。

// selected is either true or false
// $select is the selectpicker
$select.append($("<option></option>")
    .attr("value", value)   
    .attr("selected", selected) 
    .text(text));   

问题的症结所在。

如果单击表单重置按钮,则下面的两行代码将清除表单上任何选择器中的每个选定选项。这行得通。

// this is basically every selectpicker on the form
$parent.find("select.selectpicker").selectpicker('deselectAll');
$parent.find("select.selectpicker").selectpicker('refresh');

如果在单击重置按钮之后单击了selectpicker按钮(下拉部分),并且仅当如上所述将属性设置为true时,任何先前选中的选项都将获得其“ li”类和“ option”类别设置为“选定”,如屏幕快照“重置前”所示。

enter image description here

0 个答案:

没有答案