2017-07-07 5 views
-1

私はフォームコード出力を編集できないため、ラジオボタンを選択するかどうかによってラジオIDをチェックしたりオフにしたりします。これは可能でしょうか? - 私はタグに関数呼び出しを追加するかjqueryを使うことができますが、onclickイベントの追加のようにフォームコード自体を編集することはできません。ラジオですべてのラジオ入力をオンまたはオフにします。

擬似コードは次のようになります。

If #unsubYes is checked Then 
uncheck #option1Yes + #option2Yes AND 
check #option1No + #option2No 

If #unsubNo is checked Then 
uncheck #option1No + #option2No AND 
check #option1Yes + #option2Yes 

Link to JS fiddle html

すべてのヘルプは大歓迎します。

乾杯、もちろん クリス

+0

のように似た何かをすることができます。これまでに何を試しましたか? – NewToJS

+0

私はonclickイベントでそれを行うことができますが、それ以外の場合は火をつける方法がわかりません – chris

+0

他のイベントリスナーを見て試しましたか?もしそうなら、どちらのもの?関連するソースコードをあなたの試行に含めてください。これは、他の人に見て、作業して、デバッグするものを与えるでしょう。たぶんあなたの試みが意図したとおりに機能していない理由を説明し、あなたのニーズに合った解決策を提供するかもしれません。あなたが持っているものやあなたの試みを見ていないと、それがなぜ機能していないのか説明することや、学ぶためのあなたに確かな答え/解決策を与えることは不可能です。 – NewToJS

答えて

1

$("[name='unsub']").on('change', function(){ 
 
    var val = $(this).val(); 
 
    var reverseVal = (val == 'Yes' ? 'No' : 'Yes') 
 
    $("input[value='"+reverseVal+"']:not([name='unsub'])").prop('checked', true); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<form> 
 
<span>Option 1</span><br /> 
 
<label> 
 
    <input type="radio" name="option1" id="option1Yes" value="Yes"> 
 
    Yes 
 
</label> 
 
<label> 
 
    <input type="radio" name="option1" id="option1No" value="No"> 
 
    No 
 
</label> 
 
<br /><br /> 
 
<span>Option 2</span><br /> 
 
<label> 
 
    <input type="radio" name="option2" id="option2Yes" value="Yes"> 
 
    Yes 
 
</label> 
 
<label> 
 
    <input type="radio" name="option2" id="option2No" value="No"> 
 
    No 
 
</label> 
 
<hr /> 
 
<span>Unsubscribe from all</span><br /> 
 
<label> 
 
    <input type="radio" name="unsub" id="unsubYes" value="Yes"> 
 
    Yes 
 
</label> 
 
<label> 
 
    <input type="radio" name="unsub" id="unsubNo" value="No"> 
 
    No 
 
</label> 
 
<br /><br /> 
 
<input type="submit" value="submit"> 
 
</form>

+0

大変な@EmīlsGulbis - しかし、チェックされているラジオを逆にする方法はありますか?現在、ノンブロッキングをクリックしています。ラジオがチェックされていない場合は、ラジオをチェックします(逆の場合もあります)。 – chris

+0

確かに編集されたコード! –

+0

ありがとう!凡例 – chris

0

はい可能です。 [はい、非常に可能性がこの

document.querySelector('#unsubYes').addEventListener('change', function() { 
    if (this.checked) { 
     // do something if is checked 
    } else { 
     // do other thins 
    } 
}); 
関連する問題