1

私は2つ持っていますfieldsets

<fieldset class="checkable">
   <span class="as_cp_checkbox"></span>
   <input type="hidden" name="register_condition_01" id="register_condition_01" value="no">
   <label for="register_condition_01">data</label>
</fieldset>
<fieldset class="checkable">
   <span class="as_cp_checkbox"></span>
   <input type="hidden" name="register_condition_02" id="register_condition_02" value="yes">
   <label for="register_condition_02">data</label>
</fieldset>

今:入力値がyesの場合、checkedクラスを追加する必要があります。span.as_cp_checkbox私はそれを試してみましたが、このクラスが最初に追加するたびにfieldset

var checkable_fieldset = $('fieldset.checkable'),
    checkable_fieldset_input = checkable_fieldset.find('input');
if (checkable_fieldset_input.val('yes')){
    checkable_fieldset_input.parent(checkable_fieldset).prev().children('span').addClass('checked');
}

yes値spanを持つこのprevのクラスを追加するにはどうすればよいですか?input

4

4 に答える 4

1

これを行うと、値が次の入力の前にあるcheckedすべてにクラスを追加できます。'span.as_cp_checkbox'"yes"

$('input').filter(function(){return $(this).val()=="yes";})
 .prev('span.as_cp_checkbox')
 .addClass('checked');

デモンストレーション

于 2013-01-15T16:07:03.150 に答える
0

ifステートメントの条件は次のようになります。

checkable_fieldset_input.val() == 'yes'

現在、値yesを割り当てています。

于 2013-01-15T16:07:57.930 に答える
0

checkable_fieldset_input.val('yes')値を yes に設定します。あなたがする必要がありますcheckable_fieldset_input.val() == 'yes'

于 2013-01-15T16:06:32.030 に答える
-1
$('fieldset.checkable input').each(function(_, input){
    if($(input).val() == 'yes')
    {
        $(input).siblings('span.as_cp_checkbox').addClass('checked');
    }
});
于 2013-01-15T16:08:37.440 に答える