2016-03-22 3 views
0

У меня есть привязка LinkButton внутри DataList в Gridview вместе с databind DropdownList в отдельных столбцах. Я хочу получить значение LinkButton в функции 0Dфункции DropDownList.Найти значение Linkbutton в функции изменения DropdownList внутри Gridview с помощью JQuery

<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

Какая у вас проблема? Также добавьте сгенерированный html, чтобы иметь лучшее представление о структуре html и требуемых селекторах. – Adil

+0

В JQuery переменная не возвращает значение. Я не так хорош в JQuery, поэтому не знаю, как найти контроль и получить ценность. – naeemmalik

+0

Пожалуйста, найдите источник страницы в браузере и добавьте в свой пост. – Adil

ответ

0

Если вы посмотрите на генерируемой HTML вы можете просмотреть идентификатор DropDownList.

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

не подходит, так как идентификатор будет различным для каждой строки.

Вы должны изменить его в соответствии с новым именем. Также

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

Неправильная версия. Когда вы найдете DropDownList, вы можете:

  1. ориентироваться в РОМ, чтобы получить другие элементы управления, как lbnInterview
  2. раскол DropDownList идентификатор и получить индекс, чтобы получить другие элементы управления идентификатор.
Смежные вопросы