Rails 3 show/hide div 编辑
Rails 3 show/hide div on edit
我的观点如下...
<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">
我看到的是 'value' 的值是 1,无论是选中还是未选中。
试试这个
$('#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
我的观点如下...
<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">
我看到的是 'value' 的值是 1,无论是选中还是未选中。
试试这个
$('#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