3
        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。

这实际上是自定义验证器控件,它也放在模板中,因此调用也来自模板。

4

2 回答 2

1
 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 %>' />&nbsp;
     <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>
于 2012-09-27T03:23:23.870 回答
0

您不能在此处使用 id 选择器,因为 rbWaiveyes 和 rvWaiveno 的每一行 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 %>' />&nbsp;
    <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>
于 2012-09-20T07:11:31.357 回答