【发布时间】:2014-11-18 15:24:37
【问题描述】:
我在更新面板中有一个下拉列表,我在单击按钮时从服务器端加载下拉列表中的数据。 现在我在 javascript 中有一个 document.getElementById('dropdownlist').onchange 事件处理程序,它不会在从 javascript 中选择值时被调用。
不使用更新面板也可以正常工作。但随后整个页面会在单击按钮以在下拉列表中加载数据时发回。
这是aspx代码:
<asp:Content ID="BodyContent" runat="server" ContentPlaceHolderID="MainContent">
<asp:ScriptManager ID="ScriptManager1" runat="server"></asp:ScriptManager>
<asp:Label ID="Label1" runat="server" Text="From Date:" style="display:inline" Font-Size="12"></asp:Label>  
<asp:TextBox ID="TextBox1" runat="server" ReadOnly = "false" ></asp:TextBox>
<img src="calender.png" />  
<asp:Label ID="Label2" runat="server" Text="To Date:" style="display:inline" Font-Size="12"></asp:Label>  
<asp:TextBox ID="TextBox2" runat="server" ReadOnly = "false" ></asp:TextBox>
<img src="calender.png" style="display:inline"/>  
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
<asp:Button ID="btnGetTop20Cust" runat="server" Text="Get Top 20 Customers in the selected date range" onclick="btnGo_Click" /><br />
<asp:DropDownList ID="DropDownList1" runat="server" AutoPostBack="true" ></asp:DropDownList>
</ContentTemplate>
</asp:UpdatePanel>
</asp:Content>
这里是javascript:
document.getElementById('MainContent_DropDownList1').onchange = function () {
var dropDown = document.getElementById('MainContent_DropDownList1');
var value = dropDown[dropDown.selectedIndex].value;
var startDate = document.getElementById('MainContent_TextBox1').value;
var endDate = document.getElementById('MainContent_TextBox2').value;
GetData(value, startDate, endDate);
}
【问题讨论】:
-
你能把你的代码贴在这里吗?
-
请添加您的代码,以便我们检查它有什么问题。
标签: javascript asp.net drop-down-menu updatepanel onchange