如何运行下拉列表更改事件
本文关键字:下拉列表 事件 运行 何运行 | 更新日期: 2023-09-27 17:57:10
您好,我试图更改ddl.selectedIntex=1,我看到ddl的值正在更改,但事件ddl.change不起作用。
$("#ctl00_PlaceHolderMain_AccountsDDL_ddlAccounts")[0].selectedIndex = 1;
这只是设置值,但我需要运行 .change 函数
有什么想法吗?我在控制台中尝试此操作,所有工作都很好,您知道如何通过将PostData传递给HttpWebRequest来做到这一点吗?
我在控制台中尝试此操作,所有工作都有效,我知道我该如何通过将PostData传递给HttpWebRequest来做到这一点我添加了我的代码
HttpWebRequest postRequest = (HttpWebRequest)WebRequest.Create("https://www.com/Pages/current.aspx");
PostString += "ctl00$PlaceHolderMain$AccountsDDL$ddlAccounts=" + Number + "&";//Here
byte[] byteArray = Encoding.ASCII.GetBytes(PostString);
postRequest.ContentLength = byteArray.Length;
Stream newStream = postRequest.GetRequestStream();
newStream.Write(byteArray, 0, byteArray.Length);
newStream.Close();
HttpWebResponse postResponse = (HttpWebResponse)postRequest.GetResponse();
当通过代码更改值时,不会触发更改事件。您需要致电change()
或trigger("change")
$("#ctl00_PlaceHolderMain_AccountsDDL_ddlAccounts").change()
或
$("#ctl00_PlaceHolderMain_AccountsDDL_ddlAccounts").trigger("change")
作为附加说明,请使用 Control.ClientID 在 javascript 中获取元素,而不是使用硬编码 asp.net 生成的客户端 ID。
$("#<%= ddlAccounts.ClientID %>").change()
或者只是使用这个
$("[id$=ddlAccounts]").change();
使用 $ 'End with' 来缩短选择器的名称
<script>
$("select").change(function () {
var str = "";
$("select option:selected").each(function () {
str += $(this).text() + " ";
$("#DropDownList1")[0].selectedIndex = 5;
});
$("div").text(str);
}).change();
</script>
<div></div>
试试这个....它可能会帮助你