我有一些代码可以抓取页面上的第一个选择并克隆它,以便我可以在以后需要时重置它。
mySelect = jQuery('select').get(0);
origSelect = jQuery(mySelect).clone();
jQuery(mySelect).change(function(){
//some code
}
当我触发代码以使用:
重置select时jQuery(mySelect).replaceWith(origSelect);
onChange函数停止工作。我已经确定这是因为它现在被称为origSelect并响应onChanges来获得该名称。我是否有任何选项可以用origSelect的内容替换mySelect的内容而不更改它所引用的名称?
答案 0 :(得分:2)
将参数true传递给clone方法。
origSelect = jQuery(mySelect).clone(true); //This will clone the select with data and events
或将origSelect的innerHTMl替换为mySelect的内部。
jQuery(origSelect).html(jQuery(mySelect).html());
答案 1 :(得分:0)
使用$(mySelect).live('change', ...)
代替$(mySelect).change(...)
。