2012-03-08 11 views
0

私はをチェックするフォームを作成しようとしています。チェックボックスがオフの場合にのみ1ドロップダウン。私は次のコードになってしまった:jQueryでチェックボックスの条件付きバリデーション

<label for="chk">Checkbox</label> 
    <input type="checkbox" class="chk" ID="chkID" name="mychkBox" checked="checked" value="true"/> 

<select ID="dropdownID" name="myDropdown" title="please select something"> 
    <option value="0">-Select-</option> 
     <option value="1">-Option1-</option> 
</select> 

Javascriptを

$("#my-form").validate({ 
     rules: { 
      myDropdown: { 
        required: "#chkID:unchecked", 
            min:1 
      } 

     }//rules 

});// end 
$("#chkID").click(function() {   
     $("#dropdownID").valid(); 
     alert('gothere'); 
}); 

問題は、それが動作しないです

HTML、フォームがまだ提出しています。 誰かが私が行方不明/間違っていることを知っていますか?

-edit- ドロップダウンリストにJSONが入力されているかどうか確認する必要がありますか?これは奥深い道でしょうか?私が尋ねる理由は、フォームが検証の間違いの前に意図された通りに動作しますが、それ以降はチェックボックスがチェックされているかチェックされていなくてもドロップダウンが必要です。これは私が...しかし

-edit- ネヴァーマインドを行うにしようとしています正確に何である、それは

を検証しないようにチェックボックスがチェックされているとき、私はちょうど/無効に問題のあるドロップダウンを隠したが、私は答えをマーク私は動的にロードされたコンテンツ/ HTMLについて言及するのを忘れていたので、 "答えました"。

+0

私は自分のフォームを見ることができませんでした。 $( "#dropdownID")を実行しているチェックボックスのクリック機能を有効にします。セレクタidではなくフォームIDを間違って使用しています。ここでのチェックボックスの検証--- http://stackoverflow.com/questions/297555/jquery-validate-form-input-if-certain-check-boxes-are-checked – mini

+0

削除すると、検証が正常に実行されます。「詳細:{必須: "#chkID:unchecked"} "ドロップダウンの代わりにフォームIDを使用してみましたが、フォームはまだ送信されます。 – rax313

答えて

3

HTMLマークアップでは、select要素の名前はmyDropdownで、jQueryコードではdetailsと表示されます。ご確認の設定を変更してみてください:

rules: { myDropdown: { required: "#chkID:unchecked" } } 

編集

また、select要素でデフォルトのオプションでは、空の値を持つ必要があります。そうでなければrequiredルールは常に満足される:

<option value="">-Select-</option> 

私はあなたが必要なものを達成する必要がありjsFiddleを作成しました:http://jsfiddle.net/BGWbu/

+0

チェックボックスがチェックされていないかどうかを検証しますが、気にしません。変更を表示するには、私の編集を参照してください。 – rax313

+0

select要素のデフォルトオプションが空でない値です。詳細はこちら –

+0

ドロップダウンがJSONによってポップアップされているかどうか確認する必要はありますか?これはデートの方法で動作するのだろうか? – rax313

0

私は、 '未チェック' セレクタがある場合はわからない:S

あなたはブロックが、)(有効なブール

if($("#dropdownID").valid()){ 
    alert('goThere'); 
} 
を返した場合に必要かもしれまた

"#chkID:not(:checked)" 
を試してみてください
+0

http://docs.jquery.com/Plugins/Validation/unchecked < - 私はこの例からそれを得ました。それを変更し、まだ動作していません。 =( – rax313

関連する問題