jquery的clone方法应用于textarea和select时,value值丢失

来源:互联网 发布:篦子梳 淘宝 编辑:程序博客网 时间:2024/04/27 22:06

textarea和select的值clone的时候会丢掉,在clone的时候将val再重新赋值一下就可以了.

测试发现,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);

转自:http://stackoverflow.com/questions/742810/clone-isnt-cloning-select-values
0 0