2016-04-16 10 views
0

私はRailsアプリを多少基本的な形式で使用しています。私はいくつかのcoffeescriptについて助けが必要です。ここに私のフォームコードの抜粋です:RailsのCoffeeScriptはコレクションの選択に基づいてdivを切り替えます。

<%= f.label :Patient_Insurance, "Patient Insurance", class: "control-label" %> 
    <%= f.collection_select(:insurance_id, Insurance.order("insurance_type ASC"), :id, :insurance_type, {:include_blank => true}, {:class => 'select'}) %></br> 
    <div id="medicaid_fax_number"> 
     <%= f.label :medicaid_fax_number %> 
     <%= f.text_field :medicaid_fax_number, placeholder: '2812224444' %> 
    </div> 

私は起こるしたいどのようなことは、ユーザがcollection_selectから「メディケイド」を選択しない限り、その後のdivを表示し、常に隠さフィールドを維持することです。

私はJSとCoffeeスクリプトでは本当に錆びているので、私は実際にこれを使って手を使うことができました。私が変えるために見ていることは、call_insurance_id(保険証書選択のためのフォームのID)です。しかし、私はcoffeescriptで値が "メディケイド"と等しいかどうかを評価する方法がわかりません。

私は引き続きさらなる研究を行い、それに取り組んでいきますが、ここで助けてくれる人よりも知識のある人がいます。

答えて

0

ダイナミックソリューションの場合、保険モデルに「need_medicaid_fax_number」のような列を追加した後、タイプはブール値です。しかし、私はのIDをハードコーディングする必要があり、これは完璧に動作

.erb

<%= f.label :Patient_Insurance, "Patient Insurance", class: "control-label" %> 
<%= f.select :insurance_id, {include_blank: "Select"}, class: "select" do %> 
    <%= options_for_select(Insurance.order("insurance_type ASC").map {|k, v| [k.insurance_type.humanize, k.id, {show_medicaid_fax_number: k.need_medicaid_fax_number?}]}, f.object.insurance_id,)%> 
<%= end %> 
</br> 
<div id="medicaid_fax_number"> 
    <%= f.label :medicaid_fax_number %> 
    <%= f.text_field :medicaid_fax_number, placeholder: 'Fax number' %> 
</div> 

.coffee

$ -> 
    $('#call_insurance_id').change -> 
    option = $(this).find('option:selected') 
    if option.attr("show_medicaid_fax_number") is "true" 
     $('#medicaid_fax_number').show() 
    else 
     $('#medicaid_fax_number').hide() 
+0

チップをありがとうが、これは私のためには機能しませんでした。私はChromeの点検を行い、コンソールにエラーが表示されなかったので、問題が何であるか分かりません。私が働いているものに投稿している答えを見てください。それは保険の身分証明書を評価しますが、私は文字列「メディケイド」を評価したいと思います。もしあなたが助けることができたら教えてください。 – nulltek

0
$ -> 
    $('#call_insurance_id').change -> 
    if $(this).val() is "12" 
     $('#medicaid_fax_number').show() 
    else 
     $('#medicaid_fax_number').hide() 

:あなたは、以下の方法で更新することができますコーヒースクリプトへの保険タイプ。私は本当に文字列 "メディケイド"に基づいて評価することができるようにしたいと思います。誰も助けることができますか?

関連する問題