0

私は小さな形をしています。すべてのラジオボタンが選択されているときに送信ボタンを有効にしたい。

以下は私のコードhtmlです

<form action="#" id="form1" method="post">
                <ul>
                    <li>
                        <h3>Here’s what I want:<strong class="result1"></strong></h3>
                        <div>
                        <span><input type="radio" value="Cash Back rewards" name="want" id="01"  /><label for="01">Cash Back rewards</label></span>
                        <span><input type="radio" value="Travel rewards" name="want" id="02" /><label for="02">Travel rewards</label></span>
                        <span><input type="radio" value="Gas rewards" name="want" id="03" /><label for="03">Gas rewards</label></span>
                        <span><input type="radio" value="Shopping rewards" name="want" id="04" /><label for="04">Shopping rewards</label></span>
                    </div>
                    </li>

                    <li>
                        <h3>Here’s my credit story: <strong class="result2"></strong></h3>
                        <div>
                        <span><input type="radio" value="I’m new to credit" name="story" id="05" /><label for="05">I’m new to credit</label></span>
                            <span><input type="radio" value="I pay my bills on time" name="story" id="06" /><label for="06">I pay my bills on time</label></span>
                        <span><input type="radio" value="I’ve had credit issues in the past" name="07" id="issues" /><label id="07">I’ve had credit issues in the past</label></span>
                        </div>
                    </li>

                    <li>
                        <h3>Here’s what I carry:</h3>
                        <span><input type="radio" value="I have a credit card with a good record" name="carry" id="08" /><label for="08">I have a credit card with a good record</label></span>
                        <span><input type="radio" value="I don’t have a credit card with a good record" name="carry" id="09" /><label for="09">I don’t have a credit card with a good record</label></span>

                    </li>
                </ul>
                <input type="submit" value="" name="" class="find" />
                </form>

私はJavaScriptが苦手です。教えてください。

liが修正されていない場合、もう1つ動的に生成されるので、私がしなければならないことがあります。基本的に、すべてのliは1つの質問であり、ラジオボタンはオプションです。したがって、質問は動的に生成されます。修正されない

4

3 に答える 3

1
$(':radio').on('change', function(e) {
  var len = $(':radio:checked').length;
  if( len === 3 ) {
     $('input[type=submit].find').prop('disabled', false);
  }
});

デモ

于 2012-08-07T06:13:31.217 に答える
0

またはもう一度:

$('input[type=radio]').on('change', function(){
    if(
         $('input[name=want]').is(':checked') &&
         $('input[name=story]').is(':checked') &&
         $('input[name=carry]').is(':checked')
     ){
         $('input[type=submit]').prop('disabled', false)
     }
});
于 2012-08-07T06:18:00.900 に答える
0

マークアップにラジオ ボタンの 4 つのグループがあります。選択したラジオ ボタンの長さがラジオ グループの長さと等しいかどうかを確認できます。そうである場合は、送信ボタンを有効にして、次のことを試してください。

$(document).on('change', 'input[type=radio]', function(){
   if ($('input[type=radio]:checked').length == 4) {
       $('input[type=submit]').prop('disabled', false)
   } 
})

デモ

storyグループの 3 番目の要素は異なる名前属性を持つことに注意してください。

<span><input type="radio" value="I’m new to credit" name="story" id="05" /><label for="05">I’m new to credit</label></span>
<span><input type="radio" value="I pay my bills on time" name="story" id="06" /><label for="06">I pay my bills on time</label></span>
<span><input type="radio" value="I’ve had credit issues in the past" name="07" id="issues" /><label id="07">I’ve had credit issues in the past</label></span>
                                                 --------------------------^
于 2012-08-07T06:08:27.977 に答える