使用jquery验证函数不适用于select元素

时间:2012-08-31 09:13:34

标签: javascript jquery html

我已经为输入字段设置了验证功能:

$.tools.validator.fn("#password", function(input, value) {
    return value!='Password' ? true : {     
        en: "Please complete this mandatory field"
    };
});

$("#form").validator({ 
    position: 'bottom left', 
    messageClass:'form-error',
    message: '<div><em/></div>' // em element is the arrow
});

我的输入字段:

<input type="password" id="password" class="full" value="" name="j_password" required="required" placeholder="Password" />

并尝试使用相同的逻辑进行选择,但它不起作用:

$.tools.validator.fn("#environment", function(select, value) {
    return value!='Select Environment' ? true : {     
        en: "Please choose the environment"
    };
});

我的选择(不工作):

<select id="environment" style="opacity: 0; "><option value="Select Environment">Select Environment</option><option value="1">Dev</option><option value="2">Test</option></select>

我的选择(不合作):

<select id="environment" style="opacity: 0; "><option>Select Environment</option><option>Dev</option><option>Test</option></select>

有人可以指出我犯错误的地方以及如何解决问题吗?

更新

我正在使用http://jquerytools.org/documentation/validator/index.html

4 个答案:

答案 0 :(得分:0)

我不知道这是否相关,但当我想从下拉列表中选择项目时,我使用$('#dropDownID option:selected').val()

我建议显示值以查看您实际获得的内容,然后以这种方式尝试。

答案 1 :(得分:0)

删除 style =“opacity:0;”,您的代码似乎工作正常,请参阅:jsFiddle

答案 2 :(得分:0)

如果你尝试$(select).val()来获取值,它应该从选择中获得正确的选择值

答案 3 :(得分:0)

解决了,实际上我没有在这里找到解决方案:

https://gist.github.com/1810536

使用以下代码:

 $.tools.validator.fn("#environment", function(input, value) {          
         return value!='Select Environment' ? true : {     
                en: "Please select which environment you want to logon"
            };
        });