检查所有单选列表单选按钮是否已在 GridView 上选中

check all radio list radio button has been selected or not on gridview

本文关键字:GridView 是否 单选 列表 单选按钮 检查      更新时间:2023-09-26

我在保存此表单时设计了一种审查形式,我必须检查是否已选择所有单选列表单选按钮 我也写了 JavaScript,但它没有给出愿望输出,所以请帮助我。

<script type="text/javascript">
    var validateradios = function () {
        var icount = 0;
        var grid = document.getElementById('<%=gvQuestion.ClientID %>');
        alert(grid.rows.length);
        for (var i = 1; i < grid.rows.length; i++) {
            var row = grid.rows[i];
            var targetcell = row.cells[2];
            var inputs = targetcell.getElementsByTagName("input");
            alert(inputs.length);
            for (var j = 0; j < inputs.length; j++)
                if (inputs[0].checked) {
                    icount++; break;
                }

        }
        if (icount == (grid.rows.length - 1))
            alert(' all rows checked');
        else
            alert('some rows need to be checked');
    }
</script>
        ////Gridview code
           <asp:GridView ID="gvQuestion" runat="server" AutoGenerateColumns="false" CssClass="data-grid">
            <Columns>
                <asp:TemplateField HeaderText="Questions">
                    <ItemTemplate>
                        <asp:Label ID="lblQuestions" runat="server" Text='<%# Eval("Questions")%>'></asp:Label>
                    </ItemTemplate>
                </asp:TemplateField>
                <asp:TemplateField HeaderText="Description">
                    <ItemTemplate>
                        <asp:Label ID="lblDescription" runat="server" Text='<%# Eval("Description")%>'></asp:Label>
                    </ItemTemplate>
                </asp:TemplateField>
                <asp:TemplateField HeaderText="Opinion">
                    <HeaderStyle Width="150px" />
                    <ItemTemplate>
                        <asp:RadioButtonList ID="radioButtonOpinion" runat="server" RepeatLayout="Flow" AutoPostBack="false">
                            <%-- OnSelectedIndexChanged="radioButtonGender_SelectedIndexChanged"--%>
                            <asp:ListItem Value="1" Text="Strongly Disagree"></asp:ListItem>
                            <asp:ListItem Value="2" Text="Disagree"></asp:ListItem>
                            <asp:ListItem Value="3" Text="Neutral"></asp:ListItem>
                            <asp:ListItem Value="4" Text="Agree"></asp:ListItem>
                            <asp:ListItem Value="5" Text="Strongly Agree"></asp:ListItem>
                        </asp:RadioButtonList>
                        <asp:RequiredFieldValidator ID="ReqiredFieldValidator1" runat="server" ValidationGroup="s"
                            ControlToValidate="radioButtonOpinion" ErrorMessage="*Please select"></asp:RequiredFieldValidator>
                    </ItemTemplate>
                </asp:TemplateField>
            </Columns>
        </asp:GridView>

不起作用,因为我错过了之后的开头和右侧大括号

(var j = 0; j

<script type="text/javascript">
    var validateradios = function () {
        var icount = 0;
        var grid = document.getElementById('<%=gvQuestion.ClientID %>');
        alert(grid.rows.length);
        for (var i = 1; i < grid.rows.length; i++) {
            var row = grid.rows[i];
            var targetcell = row.cells[2];
            var inputs = targetcell.getElementsByTagName("input");
            for (var j = 0; j < inputs.length; j++) {
                if (inputs[j].checked) {
                    icount++; break;  
                }
            }
        }
        alert(icount)
        if (icount == (grid.rows.length - 1))
            alert(' all rows checked');
        else
            alert('some rows need to be checked');
    }
</script>