微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

JQuery – 将更改事件添加到下拉列表

我的下拉列表的底层HTML有一个改变的机会,我试图使用.live选项而不是.change选项来设置它。这对我来说不行。

我目前拥有的是:

$("#ItemsPerPage").change(function(e) { return updatePaging(); });

不幸的是,如果我通过$ .ajax更新此控件,则会丢失事件定义。我试过,不行,是:

$("#ItemsPerPage").live("change",function(e) { return updatePaging(); });

有什么想法吗?

解决方法

而不是重新绑定< select>每次,你最好只是交换其内容(< option>元素的列表)。

所以使用这个,你已经是:

$("#ItemsPerPage").change(function(e) { return updatePaging(); });

但是当您更新它时,只需更换其内容(newSelectElement是新的< select>元素):

function updateItemsPerPage( newSelectElement ) {
    $("#ItemsPerPage").empty().append( newSelectElement.childNodes );
}

这样,绑定将不需要刷新,因为节点本身不被交换。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐