0

我还在学习 jquery 但这就是我想要的

如果选择了值为“16”的单选按钮,我希望选中班级通讯的复选框,然后无法取消选中。

如果取消选择值为 16 的单选按钮,我希望能够再次使用该复选框。

4

2 回答 2

2

在没有看到您的 HTML 的情况下,我假设一个简单的案例。这里有一些简短的 jQuery 来做你所要求的:

$('input[type="radio"]').click(function() {
    $('input.newsletter').attr({
        'checked': $(this).val() == 16,
        'disabled': $(this).val() == 16
    });
});​

jsFiddle 示例

于 2012-04-27T15:15:40.120 回答
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上面的第二行(旁边有注释的那一行)的位置放置stayChecked = true;stayChecked = false;放置$(...).removeAttr('disabled');. 然后创建另一个函数,如下所示:

$("input[type=checkbox].newsletter").changed( function () {
    if (stayChecked) {
        $(this).attr('checked', 'checked');
    }
});

注意:您应该var stayChecked在公共级别上的两个函数之外的某个地方声明(即在脚本级别或在父函数内部,如果它们被声明在内部,比如说,$(document).ready() 函数)。

于 2012-04-27T14:29:56.700 回答