无法获得下拉选择的值

时间:2018-08-09 12:14:43

标签: jquery html asp.net

我有一个用户控件,其代码是:

<asp:UpdatePanel ID="updBank" runat="server">
  <ContentTemplate>
      <asp:UpdateProgress ID="udpPro" runat="server" AssociatedUpdatePanelID="" DynamicLayout="true">
            <ProgressTemplate>
                <div style="position: fixed; width: 500px; padding-top: 70px; text-align: center; z-index: 9999999;">
                    <img src="images/indicator.gif">
                </div>
            </ProgressTemplate>
      </asp:UpdateProgress>        

    <asp:DropDownList ID="ddlBankType" runat="server"></asp:DropDownList>
    <asp:Button ID="btnFilter" runat="server" Text="Button" OnClick="btnFilter_Click" OnClientClick="SetValues();"  />
    <br />

    <asp:ListView ID="lstBankList" runat="server" OnPagePropertiesChanging="lstBankList_PagePropertiesChanging" >
    <LayoutTemplate> 
        <table border="1" cellpadding="2" cellspacing="0" id="Table1" runat="server" class="TableCSS" style="width:100%;">
            <tr id="Tr1" runat="server" class="TableHeader">     
                <td id="Td2" runat="server">Bank</td>
                <td id="Td3" runat="server">Type</td>                         
            </tr>

            <tr id="ItemPlaceholder" runat="server"></tr> 
            <tr id="Tr2" runat="server"> 
                <td id="Td7" runat="server" align="right" colspan="7" class="TableData"> 
                    <asp:DataPager ID="lvDataPager1" runat="server" PagedControlID="lstBankList" PageSize="2">
                    <Fields>
                        <asp:NumericPagerField ButtonType="Link" />
                    </Fields>
                </asp:DataPager>
                </td>
            </tr>
        </table>          
    </LayoutTemplate>
    <EmptyDataTemplate>No data..</EmptyDataTemplate>
    <ItemTemplate>
        <tr runat="server" class="TableData">
            <td runat="server"><asp:Label ID="Label2" runat="server" Text='<%#Eval("Bank")%>' /></td>
            <td runat="server"><asp:Label ID="Label3" runat="server" Text='<%#Eval("BankType")%>' /></td>                
        </tr>
    </ItemTemplate>
    </asp:ListView>

    <asp:HiddenField ID="hdnBankTypeId" runat="server" />

    </ContentTemplate>
</asp:UpdatePanel>

我想设置下拉选择值隐藏字段,但不知道该怎么做。我已经尝试过了:

   <script>
       function SetValues() {
           alert($('#<%=ddlBankType.ClientID %> option:selected').val());
         $('[ID$="hdnBankTypeId"]')[0].value = $('#<%=ddlBankType.ClientID %> option:selected').val();
       }
    </script>

我不确定如何在更新面板中检索下拉值,而该值在用户控件中。请告知。

编辑:我需要选定的值,而不是选定的文本。

2 个答案:

答案 0 :(得分:1)

您可以使用下面的代码来设置值

$('#hdnBankTypeId').val($('#<%=ddlBankType.ClientID %> option:selected').val());

注意:您可以直接使用.val()来读取下拉菜单的值,而不是从所选选项中读取值

$('#hdnBankTypeId').val($('#<%=ddlBankType.ClientID %>').val());

答案 1 :(得分:1)

尝试使用以下代码获取值。 另外,请确保您之前已获取下拉列表元素。 使用

console.log($('#<%=ddlBankType.ClientID %>').length)
console.log($('#<%=ddlBankType.ClientID %> :selected').text());