首页 > 解决方案 > 无法获取下拉选择值

问题描述

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

<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>

我不确定如何在更新面板中检索下拉值,这就是用户控件。请指教。

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

标签: jqueryhtmlasp.net

解决方案


您可以使用以下代码设置值

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

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

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

推荐阅读