2016-12-17 4 views
0

Я пытаюсь использовать вкладки вместо check_box.Как использовать логические значения с помощью загрузочных навигационных вкладок?

Это то, что я имел ...

<%= f.check_box :someday %> Someday

Это то, что я нахожусь в процессе изменения его ...

<ul class="nav nav-tabs"> 
    <li role="presentation" class="active"><a href="">Schedule</a></li> 
    <li role="presentation"><a href="">Someday</a></li> 
</ul> 

Как я могу сделать это так что, когда щелкнула вкладка Someday, это будет эквивалентно проверке, а Schedule будет эквивалентом неконтролируемого?

Bootstrap уже интегрирован с проектом.

+0

Я не думаю, что это в основном хорошая идея. Я понимаю, что вы хотите сделать, но я бы сохранил флажок (но спрячу его) и использовал JS/jQuery для считывания значения и адаптации вкладок соответственно. Конечно же, вручную изменяя вкладки, необходимо также обновить значение флажка. –

ответ

0

На ваш взгляд:

<li role="presentation"><a href="" id="someday_link">Someday</a></li> 
<%= f.hidden_field :someday, value: "0", id: "someday_value" %> 

В JavaScript/JQuery:

$('#someday_link').on("click", function(e) { 
    e.preventDefault(); 
    var checkbox_value = $('#someday_value').val(); 
    if (checkbox_value == "1") { 
    $('#someday_value').val("0") 
    } else { 
    $('#someday_value').val("1") 
    } 
}); 
+0

Спасибо! Но когда я нажимаю «Когда-нибудь», страница просто обновляется. Также что мне делать с '

  • Schedule
  • '? –

    +0

    Возможно, вы захотите временно использовать 'text_field' вместо' hidden_field', чтобы убедиться, что javascript работает правильно. – luckyruby

    Смежные вопросы