有没有办法根据单选按钮单击填充复选框?

时间:2012-10-09 15:06:15

标签: javascript jquery html

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

2 个答案:

答案 0 :(得分: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,而是通过这样做来订阅它:

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

JSFiddle that shows it off properly

答案 1 :(得分:0)

Check this FIDDLE

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

    if( $(this).is(':checked')){
       $('.'+ this.id).show();
    }
});​