5

我正在使用 JQuery Validate 插件,并以这种方式验证输入。提交一次表单后,输入已被标记为无效。

有一个字段“from”,其值链接到另一个字段“to”。更改“来自”后,如何让“to”字段重新验证?

HTML:

<div id="fromPanel" class="inputPanel">
<label>From</label>
<div class="invalid valid" generated="true" for="from"></div>
<select id="from" class="campusChooser valid" required="required" name="from">
<option value="" disabled="disabled"> -- Choose a Campus -- </option>
<option selected="selected" value="UTSG">St. George</option>
<option value="UTM">Mississauga</option>
</select>
</div>
<div id="toPanel" class="inputPanel">
<label>To</label>
<div class="invalid" generated="true" for="to"></div>
<select id="to" class="campusChooser" required="required" name="to">
<option value="" disabled="disabled"> -- Choose a Campus -- </option>
<option value="UTSG">St. George</option>
<option selected="selected" value="UTM">Mississauga</option>
</select>
</div>

JS:

$(function () {
$("#to").change(function() {
var otherField = field == "to" ? "from" : "to", otherValue;
if (value == "UTSG") {
        otherValue = "UTM";
    } else if (value == "UTM") {
        otherValue = "UTSG";
    } else {
        otherValue = "";
    }

    $("#" + otherField).find("option[value='{0}']".format(otherValue)).prop("selected", true);
}); 
});
4

2 回答 2

9

您可以使用方法.valid()编程方式触发验证测试。您可以附加.valid()到单个输入元素或整个表单。

$('#myform').valid();

或者

$('input[name="fieldName"]').valid();

调用.valid()将立即触发对所选元素的验证测试并返回一个布尔值。

(注意: validate()使用此方法检查之前需要在表单上调用。)

请参阅:http: //jqueryvalidation.org/valid/

于 2013-07-24T20:42:11.480 回答
0

要强制对特定文本框进行验证,您只需执行 $('your selector').valid();

于 2013-07-24T20:44:24.377 回答