2016-07-26 3 views
0

Я разрабатывал приложение для рельсов для своей работы, и мне интересно, как использовать скрипт для кофе, чтобы сделать мою форму динамичной.Как использовать CoffeeScript для создания динамической формы?

Вот пример моего _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> 

Я хочу, чтобы сделать коллекцию доступной только, если чековая книжка проверяется.

Вот мой кофе сценарий:

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

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

Этот кофе скрипт не работает. Может ли кто-нибудь объяснить мне, почему и как это сделать?

+0

Возможный дубликат [Показать/скрыть DIV если флажок выбран] (http://stackoverflow.com/questions/18421082/show-hide-div-if-checkbox-selected) –

ответ

0

Наконец это было довольно просто, когда я получаю, что переключатель() не была хорошая функция, чтобы использовать, вместо этого я изменить CSS attribut так:

##### 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') 
Смежные вопросы