为什么使用母版页时jquery下拉列表不起作用?

时间:2012-03-24 16:44:46

标签: jquery

我正在尝试使用jquery drowndown清单控件。

按照一些简单的例子,我能够在一个独立的aspx页面中控制器正常运行(控件呈现,并且可以正常工作),但是我无法让它在主/内容页面中工作(控件不是渲染...而是选择元素,保持为常规选择元素。)

这是代码(我试图将其粘贴到此处,但无法正确格式化):

http://droidso.blogspot.com/2012/03/dropdownchecklist-code.html

我做错了什么?

1 个答案:

答案 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类)。