Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/88.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 如果未选择另一个下拉列表,如何验证该下拉列表,反之亦然?_Jquery_Jquery Validate - Fatal编程技术网

Jquery 如果未选择另一个下拉列表,如何验证该下拉列表,反之亦然?

Jquery 如果未选择另一个下拉列表,如何验证该下拉列表,反之亦然?,jquery,jquery-validate,Jquery,Jquery Validate,我有一个表格,其中有两个多选下拉列表,分别是国家列表和网站列表 我使用jQuery验证插件进行表单验证 要实现的场景:如果选择了一个下拉列表,则无论是否选择了第二个下拉列表,我都希望提交表单 我面临的问题的当前场景:即使选择了一个下拉列表,表单也不会提交。表单仅在选择了第二个下拉列表时提交 我在validate函数中遇到了depends属性..但它也不起作用 我用IDlist\u country和list\u site 下面是我的代码: $('#feed_form').validate({ //

我有一个表格,其中有两个多选下拉列表,分别是国家列表和网站列表

我使用jQuery验证插件进行表单验证

要实现的场景:如果选择了一个下拉列表,则无论是否选择了第二个下拉列表,我都希望提交表单

我面临的问题的当前场景:即使选择了一个下拉列表,表单也不会提交。表单仅在选择了第二个下拉列表时提交

我在validate函数中遇到了
depends
属性..但它也不起作用

我用ID
list\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:$(&quot;#list_country_chzn&quot;).removeClass(&quot;error_container&quot;);" 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:$(&quot;#list_site_chzn&quot;).removeClass(&quot;error_container&quot;);" 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)"
    });