特定のチェックボックスがチェックされている場合、jqueryを使用して、必要な選択ボックスから選択を行います(つまり、空のデフォルトのままにすることはできません)。私のコード:
$(document).ready(function(){
$("#myForm").validate({
rules: {
myDropDown: {
required: {
depends: function(element) {
return $("#myCheckbox:checked")
}
}
}
}
})
})
Html:
<input type="checkbox" name="myCheckbox" id="myCheckbox" value="1">
<select name="myDropDown" id="myDropDown">
<option value="" selected></option>
<option value="1">Choice 1</option>
<option value="2">Choice 2</option>
<option value="3">Choice 3</option>
</select>
コードが機能しないだけでなく、javascriptの次のセクションにあるjqueryタブがスローされます。
アドバイスをお願いします。
編集:すべてのブラケットを整理したので、チェックボックスがチェックされているかどうかに関係なく、選択ボックスが必須フィールドになります。つまり、dependsパーツが機能しません。ページ上の他のjavascriptは正常に動作しています。
このようにしてみてください
$(document).ready(function(){
$("#myForm").validate({
rules: {
myDropDown:{
required: function (element) {
if($("#myCheckbox").is(':checked')){
var e = document.getElementById("myDropDown");
return e.options[e.selectedIndex].value=="" ;
}
else
{
return false;
}
}
}
}
});
});
次のように機能するはずです。
rules : {
myDropDown:{required:"#myCheckbox:checked"}
}
これは魅力のように機能します
inputname:
{
required: function(){
if($("select[name=inputname]").val() == 1){
return true;
}
else
{
return false;
}
}
}
必要に応じて入力名を編集できます。
入力フィールドに変更するには、選択する部分を入力に変更できます
使用しているプラグインはわかりませんが、
return $("#myCheckbox:checked")
チェックボックスがチェックされている場合、Jqueryオブジェクトを返します。私はそれを行う方が正しいと思います:
return $("#myCheckbox").is(':checked')
trueまたはfalseを返します。
たぶんこれはあなたの問題とは何の関係もない