Jquery 如果未选择另一个下拉列表,如何验证该下拉列表,反之亦然?
我有一个表格,其中有两个多选下拉列表,分别是国家列表和网站列表 我使用jQuery验证插件进行表单验证 要实现的场景:如果选择了一个下拉列表,则无论是否选择了第二个下拉列表,我都希望提交表单 我面临的问题的当前场景:即使选择了一个下拉列表,表单也不会提交。表单仅在选择了第二个下拉列表时提交 我在validate函数中遇到了Jquery 如果未选择另一个下拉列表,如何验证该下拉列表,反之亦然?,jquery,jquery-validate,Jquery,Jquery Validate,我有一个表格,其中有两个多选下拉列表,分别是国家列表和网站列表 我使用jQuery验证插件进行表单验证 要实现的场景:如果选择了一个下拉列表,则无论是否选择了第二个下拉列表,我都希望提交表单 我面临的问题的当前场景:即使选择了一个下拉列表,表单也不会提交。表单仅在选择了第二个下拉列表时提交 我在validate函数中遇到了depends属性..但它也不起作用 我用IDlist\u country和list\u site 下面是我的代码: $('#feed_form').validate({ //
depends
属性..但它也不起作用
我用IDlist\u country
和list\u site
下面是我的代码:
$('#feed_form').validate({ // initialize the plugin
rules: {
list_country: {
required: {
depends: function () { return $('#list_site').val() == null }
}
},
list_site: {
required: {
depends: function () { return $('#list_country').val() == null }
}
},
list_trend: {
required: true
}
},
ignore: ":hidden:not(select)"
});
表单标记(在php的YII框架中编写的源代码)
国家:
全部的
xyz1
xyz2
xyz3
xyz4
xyz5
xyz6
站点:
全部的
A.
B
C
D
趋势:
--选择趋势--
对
不
要实现的场景:如果选择了一个下拉列表,那么无论是否选择了第二个下拉列表,我都希望提交表单
您可能希望使用附加方法文件中的require\u from\u group
方法。当正确地将此规则分配给两个select
元素时,将确保至少选择一个元素
我将构建一个工作演示,但您没有向我们展示任何HTML
required
类,因为这将强制执行required
规则并超越您的依赖项。在我的例子中,它添加了required
规则,这是我们不希望看到的
规则
对象,必须以字段的名称
为目标,而不是id
require\u from\u group
方法,而不是dependens
,以确保两个选择中只需要一个
$('#feed_form')。验证({//初始化插件
规则:{
“列出国家[]”:{//
要实现的场景:如果选择了一个下拉列表,那么无论是否选择了第二个下拉列表,我都希望提交表单
您可能希望使用附加方法文件中的require\u-from\u-group
方法。如果将此规则正确分配给两个select
元素,则只需确保至少选择一个即可
我将构建一个工作演示,但您没有向我们展示任何HTML
您需要删除required
类,因为这将强制执行required
规则,并超越您的依赖项
。在我的情况下,它添加了required
规则,我们在这里不需要它
使用规则
对象,必须以字段的名称
为目标,而不是id
最后,您可以使用require\u from\u group
方法,而不是dependens
,以确保两个选择中只需要一个
演示:
$('#feed_form')。验证({//初始化插件
规则:{
“list_country[]”:{/您的代码似乎正常工作,除非我遗漏了什么
$(函数(){
$('#mySuperCoolForm')。验证({//初始化插件
规则:{
列出您所在的国家:{
所需:{
依赖:函数(){return$('#list_site').val()==null}
}
},
列出你的网站:{
所需:{
依赖:函数(){return$('#list_country')。val()==null}
}
},
列出趋势:{
必填项:true
}
},
忽略:“:隐藏:不(选择)”
});
});
选择一些东西
事情1
事情2
事情3
事情4
事情5
事情1
事情2
事情3
事情4
事情5
您的代码似乎正常工作,除非我遗漏了什么
$(函数(){
$('#mySuperCoolForm')。验证({//初始化插件
规则:{
列出您所在的国家:{
所需:{
依赖:函数(){return$('#list_site').val()==null}
}
},
列出你的网站:{
所需:{
依赖:函数(){return$('#list_country')。val()==null}
}
},
列出趋势:{
必填项:true
}
},
忽略:“:隐藏:不(选择)”
});
});
选择一些东西
事情1
事情2
事情3
事情4
事情5
事情1
事情2
事情3
事情4
事情5
听起来像是你想要require\u from\u group
方法,该方法确保只需要从两个组中选择一个select
。听起来像是你想要require\u from\u group
方法,该方法确保只需要从两个组中选择一个select
。你的代码工作正常,因为它与OP的代码不同。你的版本他的两个
<form name="feed_form" id="feed_form" action="../minUser/DisplayUsers" method="post"> <div class="row">
<div class="span3"><strong>Country:</strong></div>
<div class="span3">
<select class="required multi_select" multiple="multiple" style="width:100%" onchange="js:$("#list_country_chzn").removeClass("error_container");" name="list_country[]" id="list_country">
<option value="666666">All</option>
<option value="5">xyz1</option>
<option value="5">xyz2</option>
<option value="5">xyz3</option>
<option value="5">xyz4</option>
<option value="5">xyz5</option>
<option value="5">xyz6</option>
</select> </div>
</div>
<div class="row">
<div class="span3"><strong>Site:</strong></div>
<div class="span3">
<select class="required multi_select" multiple="multiple" style="width:100%" onchange="js:$("#list_site_chzn").removeClass("error_container");" name="list_site[]" id="list_site">
<option value="666666">All</option>
<option value="1">a</option>
<option value="2">b</option>
<option value="3">c</option>
<option value="4">d</option>
</select> </div>
</div>
<div class="row">
<div class="span3"><strong>Trend:</strong></div>
<div class="span3">
<select class="required" style="width:100%" name="list_trend" id="list_trend">
<option value="">--Select Trend--</option>
<option value="1">Yes</option>
<option value="2">No</option>
</select> </div>
</div>
<div class="row">
<div class="span3">
<div class="row buttons" align="left" style="margin-top:15px;">
<input name="search_feed_form" class="btn btn-info" onclick="return checkVerifyForm();" type="submit" value="Search" /> </div>
</div>
</div>
</div>
<!--end outermost box widget-->
</form>
$('#feed_form').validate({ // initialize the plugin
rules: {
'list_country[]': { // <- NAME, not id
require_from_group: [1,".multi_select"]
},
'list_site[]': { // <- NAME, not id
require_from_group: [1,".multi_select"]
},
list_trend: { // <- NAME, not id
required: true
}
},
ignore: ":hidden:not(select)"
});