选中JQuery验证复选框时选择必需 使用jQuery,我想从一个选择框中选择一个IE,如果一个特定的复选框被勾选,它不能被保留为空白默认值。我的代码: $(document).ready(function(){ $("#myForm").validate({ rules: { myDropDown: { required: { depends: function(element) { return $("#myCheckbox:checked") } } } } }) })

选中JQuery验证复选框时选择必需 使用jQuery,我想从一个选择框中选择一个IE,如果一个特定的复选框被勾选,它不能被保留为空白默认值。我的代码: $(document).ready(function(){ $("#myForm").validate({ rules: { myDropDown: { required: { depends: function(element) { return $("#myCheckbox:checked") } } } } }) }),jquery,jquery-validate,Jquery,Jquery Validate,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

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>
不仅代码不起作用,它还抛出了jquery选项卡,我将其作为javascript的下一部分

谢谢你的建议


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

我不知道您使用的是什么插件,但是

 return $("#myCheckbox:checked")
如果选中复选框,则返回Jquery对象。我认为更正确的做法是:

 return $("#myCheckbox").is(':checked')
返回真或假

也许这与您的问题无关

请像这样尝试

$(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;
             }  
          }  
       }
    }
  });
});

这很有魅力

inputname:
{
    required: function(){
        if($("select[name=inputname]").val() == 1){
            return true;
        }
        else
        {
            return false;
        }
    }
}
您可以将inputname编辑为您的首选名称


要将其更改为“输入”字段,您可以将“选择零件”更改为“输入”

它应该能够像这样工作:

rules : {
 myDropDown:{required:"#myCheckbox:checked"}
}

抱歉,我使用的是jquery.validate.min.js此代码基于此处的第二个“规则”示例:谢谢,但更改您建议的行不允许在选中复选框时进行选择。您好,谢谢,但无论是否选中复选框,仍需要下拉列表。我编辑了代码。。请检查一下。在else条件中添加了一个可以压缩为必需的返回false:function{return$select[name=inputname].val==1;}或者更确切地说:required:function{return$elementID.val==1;}根据文档,正确使用的方法是规则:{myDropDown:required:{myCheckbox:checked},这是文档中的标准方法:这是最简单的答案,因此是更好的方法。这应该是检查答案