我有5个单选按钮角色。因此,如果角色roleA,B选择了用户,它会自动选择所有值,但如果我们选中roleC,它只允许选择一个值。角色D、E可以选择他们想要的任意多个值。然而,我对RoleC的设置有意见。因此,角色C只允许选择一个值,但当我返回到角色E,C时,复选框将被冻结,因为它被选中了RoleC。我不知道我做错了什么。帮助
here is the code with jsFiddle https://jsfiddle.net/1ar5g43g/1/
includeSelection:true,
enableFiltering:true,
非选定文本:“选中一个选项!”
$('.checks').change(
function () {
var radioButton = $('.checks:checked').val();
if (radioButton == "RoleA" || radioButton == "RoleB") {
$('#input-user-market').multiselect('refresh', false);
$('#input-user-market').multiselect('selectAll', false);
$('#input-user-market').multiselect('updateButtonText', false);
} else
if (radioButton == "RoleC") {
$("#input-user-market").on("change", function () {
var selectedOptions = $('#input-user-market option:selected');
if ((selectedOptions.length = 1) && (selectedOptions.length = 1)) {
// Disable all other checkboxes.
var nonSelectedOptions = $('#input-user-market option').filter(function () {
return !$(this).is(':selected');
});
var dropdown = $('#input-user-market').siblings('.multiselect-container');
nonSelectedOptions.each(function () {
var input = $('input[value="' + $(this).val() + '"]');
input.prop('disabled', true);
input.parent('li').addClass('disabled');
});
}
else if (selectedOptions.length <= 1) {
var SelectedOptions = $('#input-user-market option').filter(function () {
console.log("1 select")
return $(this).is(':selected');
});
var dropdown = $('#input-user-market').siblings('.multiselect-container');
SelectedOptions.each(function () {
var input = $('input[value="' + $(this).val() + '"]');
input.prop('disabled', true);
input.parent('li').addClass('disabled');
});
}
else {
// Enable all checkboxes.
var dropdown = $('#input-user-market').siblings('.multiselect-container');
$('#input-user-market option').each(function () {
var input = $('input[value="' + $(this).val() + '"]');
input.prop('disabled', false);
input.parent('li').addClass('disabled');
});
}
});
}
else {
$('#input-user-market option:selected').each(function () {
$(this).prop('selected', false);
});
$('#input-user-market').multiselect('refresh');
}
}
)
});
https://jsfiddle.net/1ar5g43g/1/