jquery的clone方法應用於textarea和select時,value值丟失

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
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章