我已经为此工作了很长一段时间,并且很难过。我希望有人能给我一些指导。首先是代码:
jQuery:
$("#paperwork").bind("onFail", function(e, errors) {
if (e.originalEvent.type == 'submit') {
$.each(errors, function() {
var input = this.input;
input.parent().css({color: 'red'}).change(function() {
input.parent().css({color: '#444'});
});
});
}
});
以及 HTML 的示例:
<input id="group_1" required="required" type="radio" name="attending" value="Yes" />Yes
<input id="group_1" type="radio" name="attending" value="No" />No
<input id="group_1" type="radio" name="attending" value="Not Provided" />Not Provided
<input id="group_1" class="single_text_input" type="text" name="primary_referral" />
<input id="group_1" class="single_text_input" type="text" name="secondary_referral" />
<span class="group_1">Referrals</span>
有几个部分看起来很像上面。每个都有一个对应的<span>
(例如“2”,“3”等......)我想要完成的是:
当验证器运行时,.parent()
每个输入的元素变为红色。那是有效的。当用户对输入进行更改时,.parent()
元素将返回其原始颜色。这也行得通。
除此之外,我想将每个input
部分的相应<span>
红色(文本或背景)。然后,当该部分中的所有输入都更改时,对应的输入将<span>
返回到其原始外观。一个问题(至少对我而言)是div
包含输入和对应的输入<span>
似乎并不相互关联,无论是通过.parent()
、.child()
还是.closest
。