简体   繁体   English

使用JQuery或Javascript遍历GridView

[英]Loop through GridView using JQuery or Javascript

I am developing a form on which i have a GridView .In each row of GridView ,i have one DropDownList with values Present & Absent and some TextBoxes and one submit button. 我开发的,我有一个形式GridView 。在每一行GridView ,我有一个DropDownList与价值观现状与缺席和一些文本框和一个提交按钮。 If i select Present then all the TextBoxes get enabled and enters values. 如果我选择“当前”,则所有“文本框”都将启用并输入值。 If i select Absent then all the TextBoxes get disabled. 如果我选择缺席,则所有文本框都将被禁用。

On submit button i want to write a JQuery Or Javascript Code to check if user has selected Present and do not enter marks and want to show an alert. 在提交按钮上,我想编写一个JQuery或Javascript代码来检查用户是否选择了Present,并且不输入标记并希望显示警报。

I've tried following JQuery Code but i don't understand what i'm doing wrong in that code. 我尝试遵循JQuery代码,但是我不明白我在该代码中做错了什么。

$("#<%=grdOJTResult.ClientID%> tr").each(function () {

                var Value = $(this).closest("tr").find("select[id*=ddlStatus]").val();

                if (Value == 0) {
                    if ($(this).closest("tr").find("input[id*=txtAttendance]").val() == "") {
                        alert("Please Enter Attendance.");
                        $(this).closest("tr").find("input[id*=txtAttendance]").focus();
                        return false;
                    }
                    else if ($(this).closest("tr").find("input[id*=txtWritten]").val() == "") {
                        alert("Please Enter Written Marks.");
                        $(this).closest("tr").find("input[id*=txtWritten]").focus();
                        return false;
                    }
                    else if ($(this).closest("tr").find("input[id*=txtTurnOut]").val() == "") {
                        alert("Please Enter TurnOut Marks.");
                        $(this).closest("tr").find("input[id*=txtTurnOut]").focus();
                        return false;
                    }
                    else if ($(this).closest("tr").find("input[id*=txtSmartness]").val() == "") {
                        alert("Please Enter Smartness Marks.");
                        $(this).closest("tr").find("input[id*=txtSmartness]").focus();
                        return false;
                    }
                    else if ($(this).closest("tr").find("input[id*=txtKnowledge]").val() == "") {
                        alert("Please Enter Knowledge Marks.");
                        $(this).closest("tr").find("input[id*=txtKnowledge]").focus();
                        return false;
                    }
                    else if ($(this).closest("tr").find("input[id*=txtLanguage]").val() == "") {
                        alert("Please Enter Language Marks.");
                        $(this).closest("tr").find("input[id*=txtLanguage]").focus();
                        return false;
                    }
                    else if ($(this).closest("tr").find("input[id*=txtAttitude]").val() == "") {
                        alert("Please Enter Attitude Marks.");
                        $(this).closest("tr").find("input[id*=txtAttitude]").focus();
                        return false;
                    }
                }
            });

Below is my GridView. 下面是我的GridView。

<asp:GridView ID="grdOJTResult" runat="server" AutoGenerateColumns="false" Width="98%"
                    CssClass="mGrid" DataKeyNames="EmpId,BatchId" HorizontalAlign="Center">
                    <Columns>
                        <asp:BoundField DataField="EmpCode" HeaderText="Employee Code" ItemStyle-HorizontalAlign="Center">
                            <ItemStyle HorizontalAlign="Center" />
                        </asp:BoundField>
                        <asp:BoundField DataField="EmpFullName" HeaderText="Employee Name" ItemStyle-HorizontalAlign="Center">
                            <ItemStyle HorizontalAlign="Center" />
                        </asp:BoundField>
                        <asp:TemplateField HeaderText="ATTENDANCE (16)" ItemStyle-HorizontalAlign="Center">
                            <ItemTemplate>
                                <asp:TextBox ID="txtAttendance" Width="50px" MaxLength="4" runat="server" ></asp:TextBox>
                                <Cc1:FilteredTextBoxExtender ID="FilteredTextBoxExtender1" runat="server" Enabled="True"
                                    FilterType="Custom,Numbers" TargetControlID="txtAttendance" ValidChars=".">
                                </Cc1:FilteredTextBoxExtender>
                            </ItemTemplate>
                            <ItemStyle HorizontalAlign="Center" />
                        </asp:TemplateField>
                        <asp:TemplateField HeaderText="WRITTEN MARKS (34)" ItemStyle-HorizontalAlign="Center">
                            <ItemTemplate>
                                <asp:TextBox ID="txtWritten" Width="50px" MaxLength="3" runat="server" ></asp:TextBox>
                                <Cc1:FilteredTextBoxExtender ID="FilteredTextBoxExtender2" runat="server" Enabled="True"
                                    FilterType="Custom,Numbers" TargetControlID="txtWritten" ValidChars=".">
                                </Cc1:FilteredTextBoxExtender>
                            </ItemTemplate>
                            <ItemStyle HorizontalAlign="Center" />
                        </asp:TemplateField>
                        <asp:TemplateField HeaderText="TURN OUT (10)" ItemStyle-HorizontalAlign="Center">
                            <ItemTemplate>
                                <asp:TextBox ID="txtTurnOut" Width="50px" MaxLength="3" runat="server" ></asp:TextBox>
                                <Cc1:FilteredTextBoxExtender ID="FilteredTextBoxExtender3" runat="server" Enabled="True"
                                    FilterType="Custom,Numbers" TargetControlID="txtTurnOut" ValidChars=".">
                                </Cc1:FilteredTextBoxExtender>
                            </ItemTemplate>
                            <ItemStyle HorizontalAlign="Center" />
                        </asp:TemplateField>
                        <asp:TemplateField HeaderText="SMARTNESS (10)" ItemStyle-HorizontalAlign="Center">
                            <ItemTemplate>
                                <asp:TextBox ID="txtSmartness" Width="50px" MaxLength="3" runat="server" ></asp:TextBox>
                                <Cc1:FilteredTextBoxExtender ID="FilteredTextBoxExtender4" runat="server" Enabled="True"
                                    FilterType="Custom,Numbers" TargetControlID="txtSmartness" ValidChars=".">
                                </Cc1:FilteredTextBoxExtender>
                            </ItemTemplate>
                            <ItemStyle HorizontalAlign="Center" />
                        </asp:TemplateField>
                        <asp:TemplateField HeaderText="KNOWLEDGE (10)" ItemStyle-HorizontalAlign="Center">
                            <ItemTemplate>
                                <asp:TextBox ID="txtKnowledge" Width="50px" MaxLength="3" runat="server" ></asp:TextBox>
                                <Cc1:FilteredTextBoxExtender ID="FilteredTextBoxExtender5" runat="server" Enabled="True"
                                    FilterType="Custom,Numbers" TargetControlID="txtKnowledge" ValidChars=".">
                                </Cc1:FilteredTextBoxExtender>
                            </ItemTemplate>
                            <ItemStyle HorizontalAlign="Center" />
                        </asp:TemplateField>
                        <asp:TemplateField HeaderText="LANGUAGE (10)" ItemStyle-HorizontalAlign="Center">
                            <ItemTemplate>
                                <asp:TextBox ID="txtLanguage" Width="50px" MaxLength="3" runat="server" ></asp:TextBox>
                                <Cc1:FilteredTextBoxExtender ID="FilteredTextBoxExtender6" runat="server" Enabled="True"
                                    FilterType="Custom,Numbers" TargetControlID="txtLanguage" ValidChars=".">
                                </Cc1:FilteredTextBoxExtender>
                            </ItemTemplate>
                            <ItemStyle HorizontalAlign="Center" />
                        </asp:TemplateField>
                        <asp:TemplateField HeaderText="ATTITUDE (10)" ItemStyle-HorizontalAlign="Center">
                            <ItemTemplate>
                                <asp:TextBox ID="txtAttitude" Width="50px" MaxLength="3" runat="server" ></asp:TextBox>
                                <Cc1:FilteredTextBoxExtender ID="FilteredTextBoxExtender7" runat="server" Enabled="True"
                                    FilterType="Custom,Numbers" TargetControlID="txtAttitude" ValidChars=".">
                                </Cc1:FilteredTextBoxExtender>
                            </ItemTemplate>
                            <ItemStyle HorizontalAlign="Center" />
                        </asp:TemplateField>
                        <asp:TemplateField HeaderText="TOTAL MARKS (100)" ItemStyle-HorizontalAlign="Center">
                            <ItemTemplate>
                                <asp:TextBox ID="txtTotal" Width="50px" MaxLength="3" runat="server" ReadOnly="true"></asp:TextBox>
                            </ItemTemplate>
                            <ItemStyle HorizontalAlign="Center" />
                        </asp:TemplateField>
                        <asp:TemplateField HeaderText="STATUS" ItemStyle-HorizontalAlign="Center">
                            <ItemTemplate>
                                <asp:DropDownList ID="ddlStatus" Width="50px" runat="server" CssClass="ddlRes">
                                    <asp:ListItem Text="Present" Value="0"></asp:ListItem>
                                    <asp:ListItem Text="Absent" Value="1"></asp:ListItem>
                                    </asp:DropDownList>
                            </ItemTemplate>
                        </asp:TemplateField>
                    </Columns>
                </asp:GridView>

Try: 尝试:

$("#<%=grdOJTResult.ClientID%> tr").each(function () {
     var Value = $(this).find('select[id$="ddlStatus"]').val();
});

Demo: 演示:

http://jsfiddle.net/v9cqwrfm/2/ http://jsfiddle.net/v9cqwrfm/2/

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM