フォームを使用して、ドロップダウンの値を変更すると、行が非表示になります。私が働くことができないのは、チェックボックスに基づいて行を隠すか再表示することです。チェックボックスに基づいて表の行の表示/非表示を切り替えることはできません。
マイJavascript_tagが
<%= javascript_tag do %>
$(document).ready(function(){
// if($("#observation_discussed_with_employee").is('checked'){
$(".hidden_option_date_discussed").fadeIn('slow');
alert("test");
// }
});
<% end %>
style_add.cssは、私は他の表示/非表示は、私は、私はこのスタイルシートを使用することができる午前知っている作品(<%= stylesheet_link_tag "style_adds" %>
とリンクしているスタイルシートを持っている
.hidden_option{
display: none;
}
.hidden_option_date_discussed{
display: none;
}
です
チェックボックスフィールドとそれに続くフィールドは、非表示にする/非表示にします
<tr>
<div id="discussed">
<td><%= f.label :discussed_with_employee %></td>
<td><%= f.check_box :discussed_with_employee %></td>
</div>
</tr>
<tr class="hidden_option_date_discussed">
if文が表示されているページを実行すると、警告ボックスが表示されます。しかし、もし私がifステートメントを解除したら、私はアラートを見ません。
<div class="field" >
<td><%= f.label :date_discussed %></td>
<td><%= f.date_select(:date_discussed, :default => 0.days.from_now, min: 1.year.ago) %></td>
</div>
</tr>
ちょっと注意してください:TRが多い場合は、id = "discuss"をclass = "discuss"に変更する必要があります – Mimouni
問題は、jsをチェックボックスにバインドできないようです。私はどの要素にjsがバインドされているかを表示するために画面をオーバーレイするブラウザツールを使用しています。パフォーマンスフィールドはドロップダウンで、jsがバインドされていることが示されています。しかし、チェックボックスはそれをしません。テストとして、私はステータスドロップダウンを使ってみました。私は、問題は(1)レールがチェックボックスにバインドするのが難しいこと、または(2)レール/ jsがフィールドの名前が気に入らないということです。議論された労働者とステータス。おそらく名前の下線は問題を引き起こしているでしょうか? –