質問

私は、チェックボックスのセットアップカスタム検証しようとしています。私は、同じ名前を持つ7つのチェックボックスをそれぞれ持っていると私は最後のものがチェックされているかどうかを確認します。 ?

一緒にセレクタを確認:過去と:これは私が持っていると私はその間違ったを知っているコードで、誰もが適切にスタックする方法についていくつかの光を当てることができ
$.validator.addMethod('ObserverOtherBox',function(v, e) {
   return ($('[[name="4_observers"]:last]:checked').length == 1) && ($('[name="4_observerstxt"]').length == 0) ;
}, 'Please enter the other observers');
役に立ちましたか?

解決

このようなあなたのスタックのセレクタます:

$('[name="4_observers"]:last:checked')

ただ、それはだかどうか、これはすべてのセレクタのために働く、一緒にはスペースをそれらを追加しません

$('[name="4_observers"][id=4][rel=bob]')
// or:
$(':input:checkbox:last:checked')

やコース、それらのひどい実際セレクタですが、あなたはポイントを得る:)

また余談として、あなたはこのようなあなたの特別なコードを書くことができ、ビット明確には私が考えてます:

$.validator.addMethod('ObserverOtherBox',function(v, e) {
  return $('[name="4_observers"]:last').is(':checked') 
      && $('[name="4_observerstxt"]').length == 0;
}, 'Please enter the other observers');

他のヒント

おかげでそれが働きました。代わりの( ':チェックする')されて、私は

、( '確認').prop使用
        var lastCheckBox = $('[name="LastCheckboxId"]:last');

        //onload
        $(".someDiv").hide();
        if (lastCheckBox .prop('checked')) {
            $(".someDiv").show();
        }

        //onchange
        lastCheckBox.change(function () {
            if ($(this).prop('checked')) {
                $(".someDiv").show();
            } else {
                $(".someDiv").hide();
            }
        });
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top