使用带有.net autopostback的ryanfait.com自定义表单元素

时间:2012-09-10 22:27:01

标签: javascript asp.net .net

我正在使用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事件,我无法解决问题?

非常感谢任何帮助!

1 个答案:

答案 0 :(得分:0)

最简单的方法是使用autopostback添加标准的asp:dropdownlist,预览页面然后查看源代码,在HTML源代码中找到列表并复制onChange属性。这就是你需要呼叫客户端发回页面。

例如。

var $clone = $('.tree').clone(false);

$clone
    .find('.item')
    .replaceWith(function () {
        return $('<li>'+$(this).html()+'</li>');
    });