我想使用jquery选择所需的关联元素的父级并更改css类。
我需要将css类“error”添加到所需字段的span的父div中。 (这会根据我的css为文本框着色。)
我有以下html标记,最初由我的aspx页面生成:
<div class="control-group">
<label>Your name</label>
<input name="ctl00$MainContent$txtName" type="text" maxlength="100" id="MainContent_txtName">
<span data-val-controltovalidate="MainContent_txtName" data-val-errormessage="Your name is required" data-val-display="Dynamic" id="MainContent_txtNameRequired" class="error" data-val="true" data-val-evaluationfunction="RequiredFieldValidatorEvaluateIsValid" data-val-initialvalue="" style="display:none;">This field is required</span>
</div>
在“客户端验证”之后,范围变为:
<span data-val-controltovalidate="MainContent_txtName" data-val-errormessage="Your name is required" data-val-display="Dynamic" id="MainContent_txtNameRequired" class="error" data-val="true" data-val-evaluationfunction="RequiredFieldValidatorEvaluateIsValid" data-val-initialvalue="" style="display: inline;">This field is required</span>
在服务器回发后,跨度实际上是:
<span data-val-controltovalidate="MainContent_txtName" data-val-errormessage="Your name is required" data-val-display="Dynamic" data-val-isvalid="False" id="MainContent_txtNameRequired" class="error" data-val="true" data-val-evaluationfunction="RequiredFieldValidatorEvaluateIsValid" data-val-initialvalue="">This field is required</span>
我想使用一个javascript函数,它不需要在每个按钮上使用onclick函数。我想在很多页面上重用相同的功能。
答案 0 :(得分:0)
虽然我根据跨度和数据元素找不到具体基于如何执行此操作的答案,而是在一个小时左右之后我发现了另一个问题,帮助我提出了这个解决方案:
<script type="text/javascript">
$(document).ready(function () {
$("form").submit(function () {
if (typeof Page_Validators != 'undefined') {
var errors = '';
$.each(Page_Validators, function () {
if (!this.isvalid) {
$(this).parent().addClass("error");
}
});
}
});
});
</script>