0

3つのラジオボタンと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 に答える