2012-09-17 4 views
5

Railsアプリケーションを開発しています。ラジオボタンをクリックすると、特定のフィールドを表示/非表示にする必要があります。Railsはラジオボタンがチェックされているフィールドを表示します

私はjavascriptを使用していますが、動作しないようです。

どのように解決するためのヒント?

ラジオボタンコード

<%= radio_button 'relat', 'atu', 'yes' %> ATU 
<%= radio_button 'relat', 'atu', 'no' %> No ATU 

あなたのラジオボタンにいくつかのクラス名を与え、最初のボタンがチェックされている

<div id="esatu" style="display:none"> 
<p> 
    <label for="relat_tipus_atu"> 
    Tipus ATU 
    </label> 
    <%= select_tag :tipus_id, "<option value=''></option>".html_safe + options_from_collection_for_select(@tipus, :id, :codi) %> 
</p> 

答えて

10

ファーストを表示するために起こっているフィールド、あなたはより簡単にjavascriptでそれらを使用することができます。

<%= radio_button 'relat', 'atu', 'yes', {:class => "relat__atu relat__atu_yes"} %> ATU 
<%= radio_button 'relat', 'atu', 'no', {:class => "relat__atu relat__atu_no"} %> No ATU 

変更イベントにイベントハンドラをアタッチします。ラジオボタンが「はい」ボタンであるかどうかに応じて、他の要素の表示を切り替えます。

$(".relat__atu").on("change", function(){ 
    $("#esatu").toggle($(this).hasClass("relat__atu_yes")); 
}); 
+0

egze、あなたのソリューションは完全に機能していましたが、私はすべてのものを動作させるためにクラスが必要であることを認識しませんでした。もう一度、ありがとう! – Wiggin

+0

クラスを動作させる必要はありません。あなたはタグ名だけを使って同じものを書くことができます。それはちょうどより醜い探しているコード:) – egze

関連する問題