如果选中复选框,则选择JQuery验证

How*_*haw 30 jquery jquery-validate

使用jquery如果勾选了一个特定的复选框,我想从所需的选择框中进行选择(即不能将其保留为空白默认值).我的代码:

$(document).ready(function(){
  $("#myForm").validate({
    rules: {
      myDropDown: {
        required: {       
          depends: function(element) {
            return $("#myCheckbox:checked")
          }
        }
      }
    }
  })
})
Run Code Online (Sandbox Code Playgroud)

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>
Run Code Online (Sandbox Code Playgroud)

不仅代码不起作用,而且还抛出了我作为javascript的下一部分的jquery选项卡.

任何建议表示赞赏

编辑:现在我已经整理了所有括号,现在的行为是它使选择框成为必填字段,无论复选框是否被选中 - 即依赖部分不起作用.页面上的其他JavaScript现在正常工作.

小智 39

它应该能够像这样工作:

rules : {
 myDropDown:{required:"#myCheckbox:checked"}
}
Run Code Online (Sandbox Code Playgroud)


Mah*_* KP 28

请尝试这样

$(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;
                     }  
                  }  
               }
           }
  });
});  
Run Code Online (Sandbox Code Playgroud)


小智 8

这就像一个魅力

inputname:
{
    required: function(){
        if($("select[name=inputname]").val() == 1){
            return true;
        }
        else
        {
            return false;
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

您可以编辑您喜欢的输入名称.

要将其更改为输入字段,可以将选择部分更改为输入

  • 根据文档(http://jqueryvalidation.org/category/methods/#example:-makes-details-required-only-if-#other-is-checked),正确的使用方法是`rules : { myDropDown: required :{"#myCheckbox:checked"}}` (2认同)