0

我有三个单选按钮和 17 个复选框。我希望选中的单选按钮可以填充一组复选框,同时仍为用户提供一种在必要时选择更多复选框的方法。有没有办法做到这一点?

4

2 回答 2

1

JavaScript 有能力做到这一点(通过 jQuery 变得更容易)。您需要在单选按钮上设置“onClick”功能,然后可以设置复选框的选中值。例如,此功能将根据单击的单选按钮打开/关闭复选框。

function CheckBoxes(selection) {
    if(selection == 1) {
        // Checks checkbox with id "CheckBoxID"
        $("#CheckBoxID").prop("checked", true);
        // Unchecks checkbox with id "CheckBoxID2"
        $("#CheckBoxID2").prop("checked", false);
    }
    else if(selection == 2) {
        // Unchecks checkbox with id "CheckBoxID"
        $("#CheckBoxID").prop("checked", false);
        // Checks checkbox with id "CheckBoxID2"
        $("#CheckBoxID2").prop("checked", true);
    }
    // etc, depending on how many radio buttons and checkboxes you have
}

可以通过以下方式使用单选按钮调用此函数:

<input type="radio" id="radio1" name="someName" value="someValue1" onclick="CheckBoxes(1)">
<input type="radio" id="radio2" name="someName" value="someValue2" onclick="CheckBoxes(2)">
<input type="radio" id="radio3" name="someName" value="someValue3" onclick="CheckBoxes(3)">

这就是我的想法,其他人会告诉你不要在 html 中分配 OnClick,而是通过这样做来使用 JavaScript 订阅它:

$('#radio1').click(function(){CheckBoxes(1)});

正确显示它的 JSFiddle

于 2012-10-09T15:10:27.493 回答
0

检查这个小提琴

$('#a,#b,#c').on('click', function() {

    if( $(this).is(':checked')){
       $('.'+ this.id).show();
    }
});​
于 2012-10-09T15:12:07.290 回答