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

rbWaiveyes と rvWaiveno の各行 ID が異なるため、ここで 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 に答える