【问题标题】:check all radio list radio button has been selected or not on gridview检查gridview上的所有单选列表单选按钮是否被选中
【发布时间】:2016-03-04 15:55:48
【问题描述】:

我在保存此表单时设计了一种审核形式,我必须检查是否所有单选列表单选按钮都已被选中我还编写了 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>

【问题讨论】:

  • 您反对为此使用服务器端代码吗?

标签: javascript c# asp.net gridview


【解决方案1】:

这不起作用,因为我在 for 之后错过了打开和关闭大括号

(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>

【讨论】:

    猜你喜欢
    • 2015-08-24
    • 1970-01-01
    • 1970-01-01
    • 2014-02-06
    • 2014-04-23
    • 1970-01-01
    • 2016-01-11
    • 2012-06-18
    • 2020-12-04
    相关资源
    最近更新 更多