微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

jQuery Validate Plugin:如何验证下拉列表

我正在尝试使用jQuery Validate插件来验证下拉列表.它正确地验证了我的表格的其余部分.但它不适用于下拉列表.

这是我的jQuery:

$('#campaignForm').validate({
    rules: {
         campaign_name: {
             required: true
         },html_url: {
             required: {
                 depends: function(element) {
                     return $('#html_url').val() == 'none';
                 }
              }
         }
    },messages: {
        campaign_name: 'Please enter a campaign name',html_url: 'Please select a template'
    }
});

这是我的HTML:

<select name="html_url" id="html_url">
<option value="none">Select One...</option>
...
</select>

我究竟做错了什么?我的变量名称是否以某种方式发生碰撞.广告系列名称的规则运作正常.

解决方法

如果你只想要一个select元素,你就不会使用depends:因为它不依赖于另一个元素.在您的使用中,depends属性只是切换所需的规则.这里的问题不是必需的规则……它不需要切换.问题是,当所有选项都包含值时,所需的规则将不起作用,因为始终满足所需的要求.

只需使用value =“”作为认选项,然后像任何其他元素一样设置规则.

<option value="">Select One...</option>

jsFiddle DEMO

HTML:

<form id="campaignForm">   
    <select name="html_url" id="html_url">  
        <option value="">Select One...</option>
        <option value="one">ONE</option>
        <option value="two">TWO</option>
    </select>
    <input type="submit" />
</form>​

jQuery的:

$(document).ready(function() {
    $('#campaignForm').validate({
        rules: {
            html_url: {
                required: true
            }
        },messages: {
            html_url: {
                required: 'Please select a template'
            }
        }
    });
});​

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐