我还在学习 jquery 但这就是我想要的
如果选择了值为“16”的单选按钮,我希望选中班级通讯的复选框,然后无法取消选中。
如果取消选择值为 16 的单选按钮,我希望能够再次使用该复选框。
在没有看到您的 HTML 的情况下,我假设一个简单的案例。这里有一些简短的 jQuery 来做你所要求的:
$('input[type="radio"]').click(function() {
$('input.newsletter').attr({
'checked': $(this).val() == 16,
'disabled': $(this).val() == 16
});
});
$("input[type=radio][name=<your radio button set name here>]").changed( function () {
if ($("input[type=radio][name=<your radio button set name here>]").val() == "16") {
$("input[type=checkbox].newsletter").attr('checked', 'checked');
$("input[type=checkbox].newsletter").attr('disabled', 'disabled'); //this is one way to make it not unselectable
}
else {
$("input[type=checkbox].newsletter").removeAttr('disabled');
}
}
另一种使其无法被取消选择的方法是在if
上面的第二行(旁边有注释的那一行)的位置放置stayChecked = true;
并stayChecked = false;
放置$(...).removeAttr('disabled');
. 然后创建另一个函数,如下所示:
$("input[type=checkbox].newsletter").changed( function () {
if (stayChecked) {
$(this).attr('checked', 'checked');
}
});
注意:您应该var stayChecked
在公共级别上的两个函数之外的某个地方声明(即在脚本级别或在父函数内部,如果它们被声明在内部,比如说,$(document).ready() 函数)。