jQuery Validate – 从select中获取值并基于值make make input required字段
我有一个带有选项的表单,其中包含3个选项“空白”,“是”和“否”。 我也有一个文本输入,这是这种情况的一部分。
我的HTML如下(Extract):
Yes No
jQueryvalidation代码(提取):
$("#online-application").validate({ rules: { medical: { required: true }, medcon: { required: $("#medical").val() == "medyes" }, }, messages: { medical: "Please select an option.", medicaltext: "Please enter your medical condition.", },
我的问题是,如何选择一个必填字段,如果选择值为“是”/“medyes”,则将医学文本输入设为必填字段。 但是,如果选择值为no或为空,则不必要求输入医学文本。
您需要使用一个function()
,它与depends
属性一起返回true/false
。
rules: { medical: { required: true }, medicaltext: { // <- NAME attribute of the input required: { depends: function() { return ($("#medical").val() == "medyes"); } } }, },
在.validate()
方法中,只能使用每个输入元素的name
属性来分配规则。 由于我没有看到任何带有name="medcon"
输入,因此需要更改它以匹配文本输入元素上的name
。
请参阅depends
文档: jqueryvalidation.org/validate/#rules
对于required
处理select
,您还需要更改此行...
进入这...
演示: http : //jsfiddle.net/34oo7nrg/