いくつかのページ要素のモードを制御するために、いくつかのラジオボタンを使用したいと思います。基本的な要件は、アクティブなモードをユーザーに表示し、別のボタンが選択されたときに適切なモード切り替え機能を起動することです。だから私は次のことを試しました。
<%= radio_button_tag(:label_type, "tooltip", :checked, :onchange => 'console.log("tooltip")')%>
<%= label_tag(:label_type_tooltip, "Enable Tooltip") %><br />
<%= radio_button_tag(:label_type, "labels", :onchange => 'console.log("labels")') %>
<%= label_tag(:label_type_labels, "Enable Labels") %>
これは、2番目のradio_button_tagに渡された:onchangeパラメーターがなくても機能するようですが、(上記のように)これを使用すると、onchangeイベントを2番目のラジオボタンに添付せず、2番目のラジオボタンをチェックに設定するという紛らわしい効果があります(私はしたくない)そのように:
<input checked="checked" id="label_type_tooltip" name="label_type" onchange="console.log("tooltip")" type="radio" value="tooltip">
<label for="label_type_tooltip">Enable Tooltip</label><br>
<input checked="checked" id="label_type_labels" name="label_type" type="radio" value="labels">
<label for="label_type_labels">Enable Labels</label>
なんで?どうすれば動作させることができますか?