2016-07-26 16 views
0

Ich habe eine Rails-Anwendung für meine Arbeit entwickelt, und ich frage mich, wie man mit Coffee Script meine Form dynamisch macht. HierWie verwende ich CoffeeScript, um eine dynamische Form zu erstellen?

ist eine Probe meiner _form.html.erb:

<tr> 
    <td> 
     <strong class="col-md-3">L'OCS est-il maintenu ?</strong> 
     <div class="col-md-3"> 
     <%= f.check_box :maintenance, label: "", :class => 'towatch' %> 
     </div> 
     <strong class="col-md-2">TMA</strong> 
     <div class="col-md-3"> 
     <%= f.collection_select(:tma_id, Entity.all.order(:name), :id, :name, prompt: 'Choisissez une TMA', :class => 'toset', hide_label: true) %> 
     </div> 
    </td> 
    </tr> 

Ich möchte die Sammlung zugänglich nur machen, wenn das Scheckbuch überprüft wird.

Hier ist mein Kaffee-Skript:

# Display if already checked 
if $(".towatch:checked") 
    $(".toset").toggle() 

# Toggle on change 
$(".towatch").change -> 
    $(".toset").toggle() 

Dieser Kaffee-Skript funktioniert nicht. Kann mir jemand erklären warum und wie es funktioniert?

+0

Mögliches Duplikat [anzeigen/verbergen div wenn Checkbox ausgewählt] (http://stackoverflow.com/questions/18421082/show-hide-div-if-checkbox-selected) –

Antwort

0

Schließlich war es ziemlich einfach, sobald ich, dass die Toggle-get() war nicht die gute Funktion zu verwenden, anstatt ich css Ausprägungs wie folgt ändern:

##### Toggle TMA field if OCS is maintain #### 
# Display if already checked 
if $('.towatch').prop('checked') == false 
    $('.toset').css('display','none') 

# Toggle on change 
    $('.towatch').change -> 
    if $('.towatch').prop('checked') 
     $(".toset").css('display','block') 
    else 
     $('.toset').css('display','none') 
Verwandte Themen