我还在学习jquery,但这就是我想要的
如果选择了值为“16”的单选按钮,我想要选中课程新闻稿的复选框,然后无法取消选中。
如果取消选择值为16的单选按钮,我希望能够再次使用该复选框。
答案 0 :(得分:2)
没有看到你的HTML,我假设一个简单的案例。这里有一些简短的jQuery来做你要求的:
$('input[type="radio"]').click(function() {
$('input.newsletter').attr({
'checked': $(this).val() == 16,
'disabled': $(this).val() == 16
});
});
<强> jsFiddle example 强>
答案 1 :(得分:0)
$("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
下面的第{2}位(旁边有注释的那一行)放置stayChecked = true;
并放置{{ 1}}代替stayChecked = false;
。然后创建另一个函数,如下所示:
$(...).removeAttr('disabled');
注意:你应该在公共级别上的两个函数之外的某个地方声明$("input[type=checkbox].newsletter").changed( function () {
if (stayChecked) {
$(this).attr('checked', 'checked');
}
});
(例如在脚本级别或父函数内部,如果它们在内部声明,比如说,$(document).ready ()函数)。