0

ラジオ ボックスが選択されていない場合は 0 を返し、選択されている場合は選択された値を返します。

<div class="radiogroup">A.
    <input type="radio" name=a1 value="1">$item[2]
    <br/>B.
    <input type="radio" name=a1 value="2">$item[3]
    <br/>C.
    <input type="radio" name=a1 value="3">$item[4]
    <br/>D.
    <input type="radio" name=a1 value="4">$item[5]
    <br/>E.
    <input type="radio" name=a1 value="0">Not sure
    <br/>
</div>
<div class="radiogroup">A.
    <input type="radio" name=a2 value="1">$item[2]
    <br/>B.
    <input type="radio" name=a2 value="2">$item[3]
    <br/>C.
    <input type="radio" name=a2 value="3">$item[4]
    <br/>D.
    <input type="radio" name=a2 value="4">$item[5]
    <br/>E.
    <input type="radio" name=a2 value="0">Not sure
    <br/>
</div>
<div class="radiogroup">A.
    <input type="radio" name=a3 value="1">$item[2]
    <br/>B.
    <input type="radio" name=a3 value="2">$item[3]
    <br/>C.
    <input type="radio" name=a3 value="3">$item[4]
    <br/>D.
    <input type="radio" name=a3 value="4">$item[5]
    <br/>E.
    <input type="radio" name=a3 value="0">Not sure
    <br/>
</div>

これが私のコードです:

$(function () {
    $("#submit").click(function () {
        var arr = new array();
        var k = 0;
        $(".radiogroup").each(function () {
            if ($(this."input:radio:checked").length == 0) {
                arr[k++] = 0;
            } else {
                arr[k++] = $(this."input:radio:checked").val();
            }
        });
        return false;
    });

});

私が立ち往生しているのは、「これ」を使用してdivラッパー内のラジオグループを選択する方法がわからないことです。たとえば、チェックされた各値に警告する必要がある場合、このようにしたいのですが、そうではありませんでしたでも動作します:

$(".radiogroup").each(function () {
    alert($(this.input: radio: checked).val());

});

最終的にhtmlコードが生成されるまで、ラジオグループの数は不明なので、 name=a1,name =a2 は、私も知らない数で停止します。つまり、ループ内で name を変数として使用することは不可能です。

各ラジオのIDなしで、各divラッパー内のチェックされたラジオボックスを選択する必要があります。

4

3 に答える 3

2

変更する必要があります

 if ($(this."input:radio:checked").length == 0) {

 if ($(this).find("input[type=radio]:checked").length == 0) {

arr[k++] = $(this."input:radio:checked").val();

arr[k++] = $(this).find("input[type=radio]:checked").val();
于 2013-06-26T20:58:22.940 に答える