function CheckRequired(target, value) {
if ($("#<%=rbWaiveyes.ClientId %>").attr("checked") || $("#<%=rvWaiveno.ClientId %>").attr("checked")) {
value.IsValid = true;
} else {
value.IsValid = false;
}
}
我想获取 rbWaiveyes 和 rvWaiveno ID,该脚本以普通方式运行。 但是 rbWaiveyes 和 rvWaiveno 实际上是在 gridview 的模板中。 我们在 c# 文件中所做的是我们可以使用 findcontrol 方法,但是我如何以 aspx(javascript) 的方式找到 id。
这实际上是自定义验证器控件,它也放在模板中,因此调用也是来自模板。
请您参考如下方法:
function CheckRequired(target, value) {
value.IsValid = $(target).parents("td").find(".waiveRadioButton :radio:checked").length > 0; }
<ItemTemplate>
<asp:RadioButton runat="server" ID="rbWaiveyes" Text="Yes" CssClass="waiveRadioButton"
GroupName='<%# "Waive_" + Container.DataItemIndex %>' />
<asp:RadioButton runat="server" ID="rbvWaiveno" Text="No" CssClass="waiveRadioButton"
GroupName='<%# "Waive_" + Container.DataItemIndex %>' />
<asp:CustomValidator runat="server" ID="cv1"
ValidationGroup='<%# "Waive_" + Container.DataItemIndex %>'
ClientValidationFunction="CheckRequired" ErrorMessage="Make your choice" />
<asp:Button runat="server" Text="Ok" ValidationGroup='<%# "Waive_" + Container.DataItemIndex %>'
CommandName="Save" /> </ItemTemplate>