2016-10-01 9 views
0

これは一般的な質問ですが、なぜ動作しないのか分かります。問題は、提案された回答が私のために働いていないということです。ラジオボタンがチェックされていませんチェック()

HTMLコード:

<label class="radio"><img id="boyImg" class="radio-img btn-boy" src="/wp-content/uploads/2016/09/boy.png"><input type="radio" name="Gender" value="Boy"></label> 
<label class="radio"><img id="girlImg" class="radio-img btn-girl" src="/wp-content/uploads/2016/09/girl.png"><input type="radio" name="Gender" value="Girl"></label> 

私は次のコードを持っている:最初の時間を期待通りに働いている

$('input[type=radio]').on('change', function() { 
    $(this).closest("form").submit(); 
}); 

を。問題は、ラジオボタンでページに戻るときです。別のラジオボタンを選択した場合にのみ機能します。同じラジオボタンを選択しても機能しません。それらのどれも選択されていないにもかかわらず、ページに戻ったとき。言い換えれば、私は選択できません。私の選択の間で別のページに移動したにもかかわらず、2回連続して少年の男の子。

私は、次の修正を試みた:

$('input[type=radio]').on('change', function() { 
    if($('input[value="Boy"]').is(':checked') || $('input[value="Girl"]').is(':checked')){ 
     $(this).closest("form").submit(); 
    } 
}); 

をしかし、私は私の元の選択とは異なるチェックボックスを選択した場合、それはまだのみ機能します。

私は間違っていますか?

答えて

0

回避策として、clickイベントを使用できます。それはおそらくブラウザの自動補完で行うべきことがあります。別のブラウザを試してください。

+0

Chrome、FF、Safariの両方で問題を再現しました。あなたはそれをクリックして固定して提案します。乾杯! – kandersen

0

これは、選択したラジオボタンが保存されていて、選択されたものとして表示されないという奇妙なブラウザです。あなたの目的のための最も簡単な回避策は、クリックを追加することです。

$('input[type=radio]').on('change,click', function() { 
$(this).closest("form").submit(); 
}); 
+0

ありがとう、ディーン - 私は答えとしてMartinPを受け入れました。また、それを解決したクリックについても触れました。同じ問題を抱えている人のコードを提供してくれてありがとう。乾杯! – kandersen

関連する問題