我正在使用ryanfait.com自定义表单元素来更改我的.net Web应用程序中的下拉列表的外观。除了下拉列表上的.net回发之外,一切正常。看了自定义工作元素的javascript代码后,我注意到onchange事件被覆盖了:
if(!inputs[a].getAttribute("disabled")) {
inputs[a].onchange = Custom.choose;
} else {
inputs[a].previousSibling.className = inputs[a].previousSibling.className += " disabled";
}
如果我注释掉上面的代码,autopostback可以工作,但对于其他不需要autopostback的下拉列表,输入值现在不会改变。有没有办法可以让这两种情况都有效?在ryanfait.com上,他说:
onChange和其他JavaScript事件 该脚本使用JavaScript的onChange和其他事件。因为这些事件只能使用一次,所以如果要为事件添加更多功能,则需要从我的脚本中调用它们。
但如果我能以某种方式触发autopostback事件,我无法解决问题?
非常感谢任何帮助!
答案 0 :(得分:0)
最简单的方法是使用autopostback添加标准的asp:dropdownlist,预览页面然后查看源代码,在HTML源代码中找到列表并复制onChange属性。这就是你需要呼叫客户端发回页面。
例如。
var $clone = $('.tree').clone(false);
$clone
.find('.item')
.replaceWith(function () {
return $('<li>'+$(this).html()+'</li>');
});