我有一个用户控件,其代码是:
<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>
我不确定如何在更新面板中检索下拉值,而该值在用户控件中。请告知。
编辑:我需要选定的值,而不是选定的文本。
答案 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());