我在我的应用程序中使用bootstrap-multiselect下拉列表。除了我的表单重置,当我希望它恢复到最初选择的值时,一切正常。它在关闭时显示菜单中预期的选定值(即创建具有多个选择的列表),但是当我打开菜单时,不检查所选项目的复选框。
我尝试过以下无效:
$("#MyMenu").multiselect('refresh');
$("#MyMenu").multiselect('rebuild');
$("#MyMenu").multiselect('destroy');
接着是
$("#MyMenu").multiselect();
感谢任何帮助!
答案 0 :(得分:8)
今天我面临同样的问题......我做了
$("option:selected").removeAttr("selected");
$("#MyMenu").multiselect('refresh');
它对我有用......
答案 1 :(得分:7)
对我而言,它仅适用于:
$('#id').multiselect('refresh');
但是,必须注意,重置事件在表单输入实际重置之前触发。实际上,这意味着以下内容不起作用:
$('#formID').on('reset', function(){
$('#id').multiselect('refresh');
});
虽然在瞬时setTimeout中包装调用会起作用!
$('#formID').on('reset', function(){
setTimeout(function(){
$('#id').multiselect('refresh');
});
});
答案 2 :(得分:1)
经过多次反复试验,我终于解决了这个问题。
$('#MyMenu').multiselect('destroy');
$('#MyMenu').multiselect();
$('#MyMenu option:selected').each(function () {
$(":checkbox[value=" + $(this).val() + "]").attr('checked', true)
})
答案 3 :(得分:0)
str是数据库中的数组
$('#dropdown').multiselect({includeSelectAllOption: true,});
$("#dropdown").multiselect('deselectAll', false);
首先初始化并重置doropdown。
for(i=0; i<= str.length; i++){
$("#dropdown").find("option[value='"+ $.trim(str[i])+"']").prop("selected", true);
$("#dropdown").find("option[value='"+ $.trim(str[i])+"']").attr("selected", "selected");
}
$("#dropdown").multiselect("refresh");
此代码将预先选择值。
此外,如果您想重置下面的下拉列表是代码
$('#dropdown').multiselect({includeSelectAllOption: true,});
$("#dropdown").multiselect('deselectAll', false);
$("#dropdown").multiselect("refresh");
别忘了刷新。这段代码经过了试验和测试。适合我。
答案 4 :(得分:0)
要在页面加载时将多选项重置为其原始状态,请尝试:
// Initialize Multiselect
var msDropdownInitialSelected;
$(document).ready(function () {
$('#msDropdown').multiselect();
$('#msDropdown').multiselect('select', valuesArray);
msDropdownInitialSelected = $('#msDropdown').val();
});
// Reset Multiselect
$('msDropdown').on('reset', function(){
$('#msDropdown').multiselect('select', msDropdownInitialSelected);
$('#msDropdown').multiselect('refresh');
});
答案 5 :(得分:0)
通过按顺序执行以下代码,重置多选对我有用。
$('#ID').multiselect('deselectAll', false);
$('#ID').multiselect('select', []);
答案 6 :(得分:0)
以上所有内容均不适用于我。
$('#ID').multiselect('deselectAll', false);
$('#ID').multiselect('updateButtonText');
答案 7 :(得分:-1)
这是对我有用的代码,其他所有代码都无法正常工作。
$('#basicForm').on('reset', function(){
// clearing the categories
$('#project_category').select2('val', null);
$('#project_category').attr('value', '');
});