0

2 つのラジオ ボタンと [次へ] ボタンがあるページがあります。次のボタンを無効にして、ラジオボタンを選択した場合にのみ有効にします。しかし、別のページに移動してこのページに戻ると、ラジオボタンが既に選択されているにもかかわらず、次のボタンが無効になります。PFB コード

$(document).ready(function () {
     $('#commandButton_1_0').attr('disabled', 'true');
     $('input:radio[name=a_SignatureOption]').click(function () {
         var checkval = $('input:radio[name=a_SignatureOption]:checked').val();
         if (checkval == '1' || checkval == '2') {
             $('#commandButton_1_0').removeAttr('disabled');
         }
     });
});
4

8 に答える 8

1

試す

$(document).ready(function() {
    $('input:radio[name=a_SignatureOption]').click(function() {
        var checkval = $('input:radio[name=a_SignatureOption]:checked').val();
        $('#commandButton_1_0').prop('disabled', !(checkval == '1' || checkval == '2'));
    });
});

デモ:フィドル

于 2013-06-12T04:07:11.203 に答える
0

ドキュメントのロード時に、ラジオボタンがクリックされているかどうかを確認する必要があります

$(document).ready(function() {
  $('input:radio[name=a_SignatureOption]').each(function() {
         checked(this);
  });

  $('input:radio[name=a_SignatureOption]').click(function() {
    checked(this);
  });

  function checked(obj){
    if($(obj).is(':checked')) {
        $('#commandButton_1_0').removeAttr('disabled');
    }else{
        $('#commandButton_1_0').attr('disabled', 'true');
    }
  }
});
于 2013-06-12T05:04:39.050 に答える
0

// これを試して.............

$(document).ready(function () {
$("input:radio[name=a_SignatureOption]").removeAttr('checked'); 
$('#commandButton_1_0').attr("disabled","disabled");

 $('input:radio[name=a_SignatureOption]').click(function () {
    var checkval = $('input:radio[name=a_SignatureOption]:checked').val();   
     if (checkval == '1' || checkval == '2') {

         $('#commandButton_1_0').removeAttr("disabled","disabled");
     }
 });

});

于 2013-06-12T05:46:18.407 に答える
0

最初にボタンを確認するのを忘れていました。

$(document).ready(function () {
    $('#commandButton_1_0').attr('disabled', 'true');
    if( $('input[name=a_SignatureOption]:checked' ).size() > 0 ) {
       $('#commandButton_1_0').removeAttr('disabled');
    }
    $('input[name=a_SignatureOption]').click(function () {
        if( $('input:radio[name=a_SignatureOption]:checked' ).size() > 0 ) {
            $('#commandButton_1_0').removeAttr('disabled');
        }
    });
});

ところで、[name="..."] を使用する代わりに、フォーム要素にクラスを追加してそれらを操作することを常にお勧めします。js に触れずに入力名を (必要に応じて) 変更できます。

于 2015-11-17T10:25:26.063 に答える
0
    <html>
<head>
<script src="http://code.jquery.com/jquery-1.10.2.js"></script>

<script>
    $(document).ready(function () {
        $('#commandButton_1_0').attr('disabled', 'true');

        $('input:radio[name=a_SignatureOption]').click(function () {
            var checkval = $('input:radio[name=a_SignatureOption]:checked').val();
            alert(checkval)
            if (checkval == '1' || checkval == '2') {
                $('#commandButton_1_0').removeAttr('disabled');
            }
            else {
                $('#commandButton_1_0').attr('disabled', 'disabled');
            }
        });
    });
</script>
</head>
<body>
  <input type="radio" name="a_SignatureOption" value="1" /> value1
    <br />
    <input type="radio" name="a_SignatureOption" value="2"/> value2
    <br />
    <input type="radio" name="a_SignatureOption" value="3" checked="checked"/> value3
    <br />
    <input type="button" id="commandButton_1_0" value="Next"/>
</body>
</html>
于 2016-01-19T04:06:37.010 に答える
0

私はあなたの問題を理解するのに時間がかかりました、

これは、ページの読み込み中にラジオのチェックを外すことで解決できます。

$(document).ready(function () {
    $('input:radio[name=a_SignatureOption]').prop('checked', false);
    $('#commandButton_1_0').attr('disabled', 'true');  
    $('input:radio[name=a_SignatureOption]').click(function () {
    var checkval = $('input:radio[name=a_SignatureOption]:checked').val();
    if (checkval == '1' || checkval == '2') {
        $('#commandButton_1_0').removeAttr('disabled');
    }
});
});

JSFiddleをチェックアウトし、ところで他のサイトにリダイレクトし、戻るボタンを押して違いを見つけてください。

ご理解いただければ幸いです。

于 2013-06-12T05:39:27.380 に答える
0

あなたの質問のように簡単です

<form name="urfrm">
<input type="radio" value="1" name="a_SignatureOption"> Yes<br>
<input type="radio" value="2" name="a_SignatureOption"> No<br>
<input type="submit" id="butn" name="butn" value="next" disabled><br>
</form>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<script>
$(document).ready(function() {
    //This will check the status of radio button onload
    $('input[name=a_SignatureOption]:checked').each(function() {
        $("#butn").attr('disabled',false);
    });

    //This will check the status of radio button onclick
    $('input[name=a_SignatureOption]').click(function() {
        $("#butn").attr('disabled',false);
    });
});
</script>
于 2013-06-12T07:04:13.073 に答える