Rails 3在编辑时显示/隐藏div

时间:2015-05-26 15:24:54

标签: ruby-on-rails coffeescript

我认为我有以下内容......

 <fieldset class="learner-registration">
   <p>
    <%= event_form.check_box :requires_registration %>
    <%= event_form.label :requires_registration, 'Require participants to register (optional)' %>
    <%= event_form.text_field :evaluator_id, :class => "form-control" %>
    <span class="help-block">Particpants cannot view Event Location until they enter email and name</span>
   </p>
 </fieldset>

......以及以下coffeescript ......

jQuery ->
    $("#event_evaluator_id").hide()
    $('#event_requires_registration').change ->
        $('#event_evaluator_id').toggle @checked
        return

这很好用,并且像我想要的那样切换event_evaluator_id字段,以及在初始页面加载时隐藏它。我遇到的问题是在编辑页面时,check / unchecked属性不会持久存在。所以使用上面的代码,如果我有一个选中的复选框,则在编辑页面时会隐藏event_evaluator_id字段。

我尝试了类似......

jQuery ->
    if $("#event_requires_registration").val() = null
        $("#event_evaluator_id").hide()
    else
        $("#event_evaluator_id").show()
    $('#event_requires_registration').change ->
        $('#event_evaluator_id').toggle @checked
        return

...但event_evaluator_id字段始终可见(已选中或未选中)。任何帮助表示赞赏。

修改

此处还有复选框上的html:

<input checked="checked" id="event_requires_registration" name="event[requires_registration]" type="checkbox" value="1">

我所看到的是&#39;价值&#39;是1是选中还是未选中。

1 个答案:

答案 0 :(得分:2)

试试这个

$('#event_requires_registration').is ':checked'

为了上下文,这是完整的事情:

jQuery ->
    if $("#event_requires_registration").is ':checked'
        $("#event_evaluator_id").show()
    else
        $("#event_evaluator_id").hide()
    $('#event_requires_registration').change ->
        $('#event_evaluator_id').toggle @checked
        return