我正在使用jquery multiselect plugin (您可以在this page上查看演示)
我在此插件中使用了两个多选下拉菜单
以下说明: 我在表单上有两个复选框,具体取决于选中了哪个复选框,可见不同的多选下拉列表。
这里的问题是,另一个下拉列表中的选择将保留并传递给数组。
我需要什么: 每当一个多选下拉列表变得可见时,我希望取消选中/取消选中其他下拉列表中的所有选中选项。因此,基本上取消选择所有更改功能。
我在下面的jquery中尝试了各种选择,但未成功:
$('select[multiple]').multiselect("uncheckAll");
$('#basic option:selected').prop("selected", false);
$('li').removeAttr("selected");
$("#basic option:selected").prop("selected", false);
$("#basic").multiselect('refresh');
$("#basic option[value]").remove();
$('#basic option').removeAttr("selected");
$(':checked').removeAttr("selected");
$('#basic').find('li:not(.ms-hidden).selected').removeClass('selected');
$('#basic').find('li:not(.ms-hidden, .selected)
input[type="checkbox"]:not(:disabled)').prop( 'checked', false );
$('#basic :selected').each(function(){
alert($("input[type=checkbox]").val());
});
也尝试过遵循“ jquery.multiselect.js”并更改html元素以创建正确的选择器,但没有运气。
如果有人能帮助我,我将不胜感激。
ps。我尝试了类似主题的所有建议解决方案,但没有一个起作用。
答案 0 :(得分:0)
尝试
$(".checkbox").on("click",function() {
var chk1Checked = $("#checkbox1").is(":checked"),
chk2Checked = $("#checkbox2").is(":checked");
$('#select1').multiselect( 'disable', chk2Checked);
$('#select1').parent().toggle(chk1Checked);
$('#select2').multiselect( 'disable', chk1Checked);
$('#select2').parent().toggle(chk2Checked);
});