我正在尝试使用jquery drowndown清单控件。
按照一些简单的例子,我能够在一个独立的aspx页面中控制器正常运行(控件呈现,并且可以正常工作),但是我无法让它在主/内容页面中工作(控件不是渲染...而是选择元素,保持为常规选择元素。)
这是代码(我试图将其粘贴到此处,但无法正确格式化):
http://droidso.blogspot.com/2012/03/dropdownchecklist-code.html
我做错了什么?
答案 0 :(得分:0)
事实证明,当您在asp.net中使用母版页时,asp.Net将替换控件的ID,以确保呈现的html具有唯一的唯一ID(在主页面和内容页面可以的位置)拥有相同ID的控件)。问题是jQuery无法找到基于id的控件,因为id已经改变了。作为解决方法,我决定select by class name。
e.g。
代替
$("#s1").dropdownchecklist();
$(".s1class").dropdownchecklist();
其中“s1class”是select控件上的css类的名称。
另一个也有效的替代方案是tvanfosson在上面的评论中提出的建议(使用jQuery匹配选择器来查找id,其中“以你指定的字符串结尾”)。问题是必须确保id结尾是唯一的(我发现更难以简单地命名控件css类)。