使用JQuery在Gridview中查找DropdownList的更改函数的Linkbutton值

时间:2016-03-22 06:32:17

标签: jquery asp.net gridview drop-down-menu

我在LinkButton中的DataList中有一个数据绑定Gridview,并且在单独的列中有数据绑定DropdownList。我想在DropDownList的change函数上获取LinkBut​​ton的值。

<asp:TemplateField HeaderText="Screening Status">
            <ItemTemplate>
                <asp:DropDownList runat="server" ID="ddlScreeningStatus" DataTextField="Name" DataValueField="ID"
                    CssClass="selectpicker">
                </asp:DropDownList>
            </ItemTemplate>
        </asp:TemplateField>
        <asp:TemplateField HeaderText="Response">
            <ItemTemplate>
                <asp:Label ID="lblInterviewsHeader" runat="server"><b>INTERVIEWS</b></asp:Label>
                <ul><asp:DataList ID="dlInterviewList" ShowHeader="true" runat="server" Visible="true" Caption="">
                    <ItemTemplate>
                        <li><asp:LinkButton ID="lbnInterview" runat="server" Visible="true" OnClick="lbnInterviewSchedule_OnClick" CommandArgument='<%# Eval("ID") %>' Text='<%# Eval("ScreeningStatusName") %>'></asp:LinkButton></li>
                    </ItemTemplate>
                </asp:DataList></ul>
                <asp:Label ID="lbQuestionsHeader" runat="server"><b>RESPONSES</b></asp:Label>
                <ul><asp:DataList ID="dlQuestionnaireList" runat="server" Visible="false">
                    <ItemTemplate>
                        <li><asp:LinkButton ID="lbnQuestionnaireResponse"  runat="server" Visible="true" OnClick="lbnQuestionnaireResponse_OnClick" CommandArgument='<%# Eval("ID") %>' Text='<%# Eval("Name") + " - " + Eval("TotalScore") + " pts" %>'></asp:LinkButton></li>
                    </ItemTemplate>
                </asp:DataList></ul>
            </ItemTemplate>
        </asp:TemplateField>

JQuery的:

$(function () {

    $("[id$='ddlScreeningStatus']").change(function () {

        $this = $(this);
        ddlScreeningStatus = $this.val();
        var interviewResponse = $this.parent().next();
        var interviewResponseValue = interviewResponse.find("[id$='lbnInterview']").val();
        var questionnaireResponse = $this.parent().next();
        var questionnaireResponseValue = questionnaireResponse.find("[id$='lbnQuestionnaireResponse']").val();
    });
});

1 个答案:

答案 0 :(得分:0)

如果查看生成的html,可以查看下拉列表的ID。

$("[id$='ddlScreeningStatus']")

不正确,因为每行的ID不同。

您必须根据新名称进行更改。 还

find("[id$='lbnInterview']") 

不正确。 当您找到下拉列表时,您可以:

  1. 导航dom以获取其他控件作为lbnInterview
  2. 拆分下拉列表ID并获取索引以获取其他控件ID。