0

name 属性が異なる一連のラジオ ボタンを検証する方法。

例:

<div id="divTest">
     <ul>
          <li><input type="radio" name="rdo0"><span>Good</span></li>
          <li><input type="radio" name="rdo0"><span>Average</span></li>
          <li><input type="radio" name="rdo0"><span>Bad</span></li>
    </ul>

    <ul>
          <li><input type="radio" name="rdo1"><span>Test</span></li>
          <li><input type="radio" name="rdo1"><span>Test 2</span></li>
          <li><input type="radio" name="rdo1"><span>Test 3</span></li>
    </ul>

</div>

すべての「ul」にラジオボタンが選択されている必要があり、どちらの場合でも適切なメッセージが表示されることを検証したいと思います。

4

3 に答える 3

2

自分で試してみるべき...

とにかく、ここに例があります:

function validate_checkbox() {
    var error = false;
    $('ul', '#divTest').each(function() {
        if ( $('input[type="radio"]:checked', this).length == 0) {
            error = true;
        }
    });    
    return error;
}

$("#somebutton").on('click', function() {
        alert(validate_checkbox() ? 'error' : 'ok');
});

http://jsfiddle.net/yiernehr/mgjwj/3/

于 2013-05-04T12:32:59.620 に答える
0

次のようなことを試すことができます:

var radioChecked = false;
$("ul.ContainsRadios").each(function(ind,ele){
    radioChecked = false;
    $(ele).children("input[type=radio]").each(function(ind2,ele2) {
        if (ele2.checked){
             radioChecked = true;
        }
    });
    if(!radioChecked){
       $(ele).addClass("ValidatClass");
    }
});

上記のコードの唯一の問題は、コードで言及したクラスのようなもので、無線入力を含む UL にラベルを付ける必要があることです。

于 2013-05-04T12:27:07.517 に答える
0

ラジオボタンしかない場合:

var $uls = $('#divTest > ul');
if ($uls.find(':checked').length === $uls.length) {
   // is valid

他の入力もある場合は、.find(':radio:checked')

于 2013-05-04T12:38:33.847 に答える