jquery的clone方法应用于textarea和select的bug修复 |
测试发现,textarea和select的jquery的clone方法有问题,textarea和select的值clone的时候会丢掉,发现这个是jquery的一个bug,上不了的可以看下代码,比较简单 。就是在clone的时候将val再重新赋值一下,如果知道这个了,就简单了自己写 。 引入到你要用的clone的页面就ok jquery.fix.clone.js (function (original) { jQuery.fn.clone = function () { var result = original.apply(this, arguments), my_textareas = this.find(textarea).add(this.filter(textarea)), result_textareas = result.find(textarea).add(result.filter(textarea)), my_selects = this.find(select).add(this.filter(select)), result_selects = result.find(select).add(result.filter(select)); for (var i = 0, l = my_textareas.length; i < l; ++i) $(result_textareas[i]).val($(my_textareas[i]).val()); for (var i = 0, l = my_selects.length; i < l; ++i) result_selects[i].selectedIndex = my_selects[i].selectedIndex; return result; }; }) (jQuery.fn.clone); |