Ich habe ein Formular arbeiten, wo die Änderung eines Dropdown-Wertes ausblenden oder eine Zeile anzeigen. Was ich nicht arbeiten kann, ist zu versuchen, eine Zeile basierend auf einer Checkbox zu verstecken oder sichtbar zu machen.kann Tabellenzeile basierend auf einem Kontrollkästchen nicht ein-/ausblenden.
Mein Javascript_tag ist
<%= javascript_tag do %>
$(document).ready(function(){
// if($("#observation_discussed_with_employee").is('checked'){
$(".hidden_option_date_discussed").fadeIn('slow');
alert("test");
// }
});
<% end %>
Die style_add.css
ist.hidden_option{
display: none;
}
.hidden_option_date_discussed{
display: none;
}
Ich habe das Stylesheet mit <%= stylesheet_link_tag "style_adds" %>
(die anderen hide/show verknüpft funktioniert, damit ich weiß, ich bin in der Lage dieses Stylesheet verwenden
Das Kontrollkästchenfeld und das nachfolgende Feld, das ich ein-/ausblenden möchte, sind unter
<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">
Wenn ich die Seite mit den if-Anweisungen wie gezeigt ausgeführt habe, bekomme ich die Alarmbox. Wenn ich die if-Anweisungen jedoch abnehme, sehe ich keine Warnung.
<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>
nur ein Hinweis: Wenn Sie viele TR haben, sollten Sie ID = "diskutiert" in Klasse = "diskutiert" ändern – Mimouni
Das Problem scheint zu sein, dass ich die js nicht an die Checkbox binden kann. Ich verwende ein Browser-Tool, das den Bildschirm überlagert, um zu zeigen, an welche Elemente js gebunden ist. Das Leistungsfeld, das ein Dropdown ist, funktioniert und es ist gezeigt, dass js daran gebunden ist. Das Kontrollkästchen wird es jedoch nicht tun. Als Test habe ich versucht, ein Status Dropdown zu verwenden und das hat funktioniert. Ich vermute, dass das Problem ist entweder (1) Schienen hat Schwierigkeiten bei der Bindung an eine Checkbox oder (2) Schienen/js mag nicht den Namen des Feldes .. ie. discussed_with_employee vs. status. Vielleicht verursachen die Unterstriche im Namen ein Problem? –