我试图将一个事件绑定到下拉列表,因为昨天没有任何帮助进入 JavaScript 聊天室,没有人能够找到解决我的问题的方法,但后来我以某种方式尝试绑定我的下拉列表,如下所示
$('<%= ddl.ID %>').bind('change',myfunction);
到
$(<%= ddl.ID %>).bind('change',myfunction);
它开始工作了,有什么想法吗?
编辑
抱歉,它不适用于 IE :(
我试图将一个事件绑定到下拉列表,因为昨天没有任何帮助进入 JavaScript 聊天室,没有人能够找到解决我的问题的方法,但后来我以某种方式尝试绑定我的下拉列表,如下所示
$('<%= ddl.ID %>').bind('change',myfunction);
到
$(<%= ddl.ID %>).bind('change',myfunction);
它开始工作了,有什么想法吗?
编辑
抱歉,它不适用于 IE :(
jQuery 使用CSS selectorlike 语法。
因为ID Selector它需要以#符号作为前缀。例子,$('#DOMElementId')
检查 jQuery选择器列表
在您的情况下,正确的应该是
$('#<%= ddl.ID %>').bind('change',myfunction) // if you have no master page or
//ClientIDMode="static"
或者
$('#<%= ddl.ClientID %>').bind('change',myfunction)
jQuery 函数需要一个字符串作为选择器。
后一种语法没有意义,除了
document.body,或者myvar如果您定义了myvar)。ddl.ID字符串包含引号(您可能已将其创建为ddl.ID = "\"#id\"";)您可能通过另一个错误在您的代码中使这一行无效来修复错误。
您可能应该ClientID改用
$('#<%= ddl.ClientID %>').bind('change', myfunction);
最好的选择是
$('#'+'<%= ddl.ClientID %>').bind('change',myfunction);
即使您在用户控件或内容页面中使用此控件,它也可以工作
$('#'+'<%= ddl.ClientID %>').change(myfunction);