使用JQuery或Javascript循环访问GridView

时间:2014-09-06 12:06:59

标签: javascript jquery asp.net gridview

我正在开发一个表格,我有一个GridView。在GridView的每一行中,我有一个DropDownList,其值为Present&缺席和一些TextBoxes和一个提交按钮。 如果我选择Present,则所有TextBox都会启用并输入值。 如果我选择Absent,那么所有TextBox都会被禁用。

在提交按钮上,我想写一个JQuery或Javascript代码来检查用户是否选择了“存在”并且没有输入标记并且想要显示警告。

我尝试过遵循JQuery Code,但我不明白我在该代码中做错了什么。

$("#<%=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;
                    }
                }
            });

下面是我的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>

1 个答案:

答案 0 :(得分:0)

尝试:

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

演示:

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

相关问题