表單使用clone方法後, 原有select無法生效
阿新 • • 發佈:2017-06-15
func ted find urn 生效 his turn alt syn
textarea和select的值clone的時候會丟掉,在clone的時候將val再重新賦值一下,如果知道這個了就加單了
測試發現,textarea和select的jquery的clone方法有問題,textarea和select的值clone的時候會丟掉,發現這個是jquery的一個bug,上不了的可以看下代碼,比較簡單。就是在clone的時候將val再重新賦值一下,如果知道這個了,就簡單了自己寫。
引入到你要用的clone的頁面就ok
jquery.fix.clone.js
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
( 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);
|
表單使用clone方法後, 原有select無法生效