【发布时间】:2013-11-28 04:20:13
【问题描述】:
我有一条规则,其格式似乎类似于this thread 中的答案,但没有正确验证。如果我注释掉这条规则,验证就会在表单的其余部分正确执行。我发现的其他语法错误导致了相同的结果,所以我希望这里有一个语法错误,但如果我能发现它就会被删除。
规则是
freq: {
required: {
depends: {function(element){
return $('#freqBand').val().length > 0 &&
$('#freqBand').val() != "24GHz");
}
}
}
},
我希望如果输入字段 freqBand(选择输入)值不是“24GHz”或什么都不是,那么 freq 字段是必需的。
我只是在学习jquery,所以它可能是一个真正的额头。
编辑 11/28
我进行了更多故障排除,发现 $('#freqBand').val() 未定义。
在 HTML 中可以找到
<select name="freqBand" tabindex="6">
<option value="" label="–Choose–" >–Choose–</option>
<option value="27MHz" label="27 MHz" >27 MHz</option>
<option value="50MHz" label="50 MHz" >50 MHz</option>
<option value="75MHz" label="75 MHz" >75 MHz</option>
<option value="24GHz" label="2.4 GHz" >2.4 GHz</option>
</select>
查询验证文档说选择元素的正确语法应该是
$("select.freqBand option:selected").val()
但这也解析为未定义。这些添加的信息是否有助于某人帮助我?
【问题讨论】:
-
你有语法问题试试
freq: { required: { depends: function (element) { return $('#freqBand').val().length > 0 && $('#freqBand').val() != "24GHz"); } }
标签: jquery jquery-validate depends