繁体   English   中英

如何选择此子div元素以显示/隐藏jQuery?

[英]How to select this child div element for showing/hiding with jQuery?

当我单击标记为“ Magazine Citation”的复选框时,我希望具有类别“ boat_prize_award_radio_buttons”的div能够显示/隐藏,具体取决于是否选中了该复选框。 我如何使它正常工作?

这是我当前的coffeescript / jQuery代码:

$(document).ready ->
  $(".benefit_flag").change ->
    selected_obj = $(this).parent('div')
    if $(this).is(":checked")
      selected_obj.find('boat_prize_award_radio_buttons').show()
    else
      selected_obj.find('boat_prize_award_radio_buttons').hide()




<div class='outcome'>
  <ul>
    <li>etc.</li>
    <li>etc.</li>
    <li>etc.:</li>
    <fieldset class="inputs"><ol><li class="boolean input optional" id="person_magazines_attributes_12_benefit_flag_input"><input name="person[publications_attributes][12][benefit_flag]" type="hidden" value="0" /><label class="" for="person_magazines_attributes_12_benefit_flag"><input class="benefit_flag" id="person_magazines_attributes_12_benefit_flag" name="person[publications_attributes][12][benefit_flag]" type="checkbox" value="1" />Magazine citation</label>

    </li>
    <li class="radio input optional" id="person_magazines_attributes_12_citation_status_input"><fieldset class="choices"><ol class="choices-group"><li class="choice"><label for="person_magazines_attributes_12_citation_status_magic_was_cited"><input id="person_magazines_attributes_12_citation_status_magic_was_cited" name="person[publications_attributes][12][citation_status]" type="radio" value="Magazine was mentioned" />Magazine was mentioned</label></li>
    <li class="choice"><label for="person_magazines_attributes_12_citation_status_magic_was_not_cited_but_should_have_been"><input id="person_magazines_attributes_12_citation_status_magic_was_not_cited_but_should_have_been" name="person[publications_attributes][12][citation_status]" type="radio" value="Magazine was not mentioned" />Magazine was not mentioned</label></li></ol></fieldset>

    </li>
    </ol></fieldset>
    <div class='boat_prize_award_radio_buttons'>
      <p>My pilot fund award contributed to this outcome</p>
      <li class="radio input optional" id="person_magazines_attributes_12_boat_prize_award_contributed_input"><fieldset class="choices"><ol class="choices-group"><li class="choice"><label for="person_magazines_attributes_12_boat_prize_award_contributed_yes"><input id="person_magazines_attributes_12_boat_prize_award_contributed_yes" name="person[publications_attributes][12][boat_prize_award_contributed]" type="radio" value="Yes" />Yes</label></li>
      <li class="choice"><label for="person_magazines_attributes_12_boat_prize_award_contributed_no"><input id="person_magazines_attributes_12_boat_prize_award_contributed_no" name="person[publications_attributes][12][boat_prize_award_contributed]" type="radio" value="No" />No</label></li></ol></fieldset>

      </li>
    </div>
    </ul>
</div>

您可以使用jQuery parent()方法。 jQuery的parent()方法仅在DOM树上移动单个级别。 另外,当在jQuery的find()方法中将类名作为参数时,您需要给。 在班级名称之前。

这是您想要的脚本:

$(document).ready ->  
  $(".benefit_flag").change ->
    selected_obj = $(this).parents('div')
    if $(this).is(":checked")
      selected_obj.find('.boat_prize_award_radio_buttons').show()
    else
      selected_obj.find('.boat_prize_award_radio_buttons').hide()

另外,根据您的要求,应通过将代码加载到$ {document).ready函数中或使用CSS的display:none属性来隐藏页面加载时的单选按钮

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM