[英]How to access ASP.NET drop down box from jquery
好吧,我有一个非常小的问题。 如何从jquery访问ASP.NET下拉列表? 我尝试使用下拉列表的“ CssClass”属性分配CSS类,然后使用该类访问该列表,但后来我发现选择元素时该类会发生变化,因此我的初始类被新的替换class。我将该列表的“ CssClass”属性设置为“ InstrumentDropDown”。 第一次加载该页面时,其类属性将设置为“ InstrumentDropDown”,这与我预期的一样。 但是,当选择一个元素并进行回发时,它变成类似于“ InstrumentDropDown sg selected”(可能单词之间有下划线而不是空格)
我也不能使用“ ClientID”属性,因为访问该列表的代码部分不在页面内,而是在单独的javascript文件中。
那么我该如何访问呢?
我能想到的最简单的方法是将下拉列表包装在具有另一个ID的元素内。 这样,您可以像这样引用它,而不必担心ASP.NET ClientID。
脚本:
$('#dropDown select');
标记:
<div id="dropDown">
<asp:DropDownList ID="DropDownList1" runat="server">
</asp:DropDownList>
</div>
页面加载时,请使用该类查找下拉框,并将元素的ID存储在变量中。
$(function() {
var $ddl = $('select.myClass'); // get here
$('.somethingelse').click( function() {
$.get('...',function(data) {
$ddl.html(data); // use here
}
}
});
如果页面上只有一个下拉列表,并且您确定要这样做,则还可以使用ends -with选择器($ =)属性按ID通过ID找到它,如下所示:
$("[id$=dropDownID]")
例如,这将找到: <select id="MasterPage$Content$dropDownID">
在CssClass
名称更改为OnPostback
的情况下,此选择器将起作用...
$(document).ready(function(){
$('select.InstrumentDropDown_sg_selected, select.InstrumentDropDown').change(function(){
var yourValue = $(this).val(); //retrieve value
$(this).val('someValue'); //set value
});
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.