我正在使用bootstrap multiselect列表框。当用户在多选中选择选项时,它会正确显示。但是可以选择重置以前选择的选项。当用户单击重置按钮时,自动style=display:none
将添加到下拉按钮,下拉列表将变为不可见。
这是我的代码
$("#button").click(function () {
$('option', $('.multiselect')).each(function (element) {
$(this).removeAttr('selected').prop('selected', false);
});
$('.multiselect').multiselect('refresh');
});
答案 0 :(得分:42)
其他有用的选项包括:
$('Id').multiselect('refresh');
- 根据所选的选项刷新多选项。
$('Id').multiselect('destroy');
- 取消绑定整个插件。
buildFilter
:构建过滤器。
buildSelectAll
:如果已经创建了全部选择,则构建selct all.Checks。
$('Id').multiselect('select', ['1', '2', '4']);
- 选择给定值的所有选项。
clearSelection
:清除所有选定的项目。
$('Id').multiselect('deselect', ['1', '2', '4']);
- 取消选择给定值的所有选项。
$('Id').multiselect('selectAll', true);
- 选择所有已启用的&可见选项。
$('Id').multiselect('deselectAll', true);
- 取消选择所有选项。
$('Id').multiselect('rebuild');
- 重建插件。
$('Id').multiselect('enable');
- 启用多选。
$('Id').multiselect('disable');
- 禁用多重选择。
hasSelectAll
:检查是否存在全选复选框。
updateSelectAll
:根据当前显示和选中的复选框更新全选复选框。
$('Id').multiselect('updateButtonText');
- 根据当前选择的选项更新按钮文字及其标题。
getSelected()
:获取所有选定的选项。
getOptionByValue()
:按值获取选择选项。
$('Id').multiselect('dataprovider', options);
- 提供的数据将用于构建下拉列表。
有关详细信息,请访问bootstrap-multiselect
答案 1 :(得分:6)
如果您只是像这样定位类,则Bootstrap Multiselect会失败。
$(".multiselect").multiselect("refresh");
这是因为插件中还有其他类似于" multiselect"。 你必须告诉它,它只是你要定位的选择。
以下对我有用。
$("select.multiselect").multiselect("refresh");
"取消选择"同样重要。方法
$("select.multiselect").multiselect("deselectAll", false);
答案 2 :(得分:2)
请查看此文档:http://davidstutz.github.io/bootstrap-multiselect/
要取消选择选项,请使用此
$('.multiselect').multiselect('deselect', value)
然后调用refresh方法
$('.multiselect').multiselect('refresh');
答案 3 :(得分:1)
我的方法是销毁多选,然后重新初始化它。这对我有用。试一试:
function initMultiSelect(){
$('#yourMultiselectId').multiselect({
includeSelectAllOption: true,
selectAllValue: 'select-all-value'
});
}
$('#button').click(function(e){
e.preventDefault();
$('#yourMultiselectId').multiselect('destroy');
initMultiSelect();
});
答案 4 :(得分:0)
$('option', "#id").each(function(element) {
jQuery("#id").multiselect('deselect', $(this).val());
});
我已成功取消选择先前选择的选项。