jquery的clone方法应用于textarea和select的bug修复不能copy值,clone id重复的解决

 

textarea和select的值clone的时候会丢掉,在clone的时候将val再重新赋值一下,如果知道这个了就简单了,

测试发现,textarea和select的jquery的clone方法有问题,textarea和select的值clone的时候会丢掉,发现这个是jquery的一个bug,上不了的可以看下代码,比较简单。

就是在clone的时候将val再重新赋值一下,如果知道这个了,就简单了自己写。

引入到你要用的clone的页面就ok(或者直接写入<script></script>)。

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://www.jb51.net/article/51561.htm

posted @ 2015-03-18 15:24  君子笑而不语  阅读(345)  评论(0编辑  收藏  举报