jQuery-在更改功能上取消选择jQuery multiselect插件中的所有选定选项

时间:2018-07-31 13:06:00

标签: jquery plugins multi-select

我正在使用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。我尝试了类似主题的所有建议解决方案,但没有一个起作用。

1 个答案:

答案 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);  
});