在表单输入

时间:2015-07-23 17:45:21

标签: javascript jquery addclass

我有:

<div class="col-md-3 col-centered survey-kind-border">
    <a class="lv-item" href="#">
        <div class="media">
            <label for="no" class="pull-left">
                 <div class="survey_kind_choice">
                     1.5
                 </div>
                 <input checked="checked" class="survey_kind_input" id="no"  type="radio" value="no">
             </label>
             <div class="media-body">
                 <div class="lv-title">
                      No
                 </div>
                 <small class="lv-small">
                    I will Not
                 </small>
             </div>
        </div>
    </a>
</div>

<div class="col-md-3 col-centered ">
  <a class="lv-item" href="#">
      <div class="media">
          <label for="yes" class="pull-left">
            <div class="survey_kind_choice">
                2.5
            </div>
            <input class="survey_kind_input" id="yes" type="radio" value="yes">
          </label>
          <div class="media-body">
              <div class="lv-title">
                  Yes
              </div>
              <small class="lv-small">
                    I will
              </small>
          </div>
      </div>
  </a>
</div>

当有人进入此页面时,通常已经选择了一个单选按钮。如果选择了该按钮,我想获取与该表单元素相关联的div并具有类&#34; survey_kind_choice&#34;并为其添加一个类。我试图用这段代码来做到这一点:

if($('.survey_kind_input').is(':checked')){
    alert('there is a checked element');
    $(this).prev('.survey_kind_choice').addClass('current_choice');
}

警报正在运行,但我无法添加课程。我做错了什么,如何解决?

1 个答案:

答案 0 :(得分:2)

No if statement needed, just execute the selector on the checked input with:

$('.survey_kind_input:checked').prev('.survey_kind_choice').addClass('current_choice');

jsFiddle example