textarea和select的值clone的時候會丟掉,在clone的時候將val再從新賦值一下,若是知道這個了就簡單了,jquery
測試發現,textarea和select的jquery的clone方法有問題,textarea和select的值clone的時候會丟掉,發現這個是jquery的一個bug,上不了的能夠看下代碼,比較簡單。app
就是在clone的時候將val再從新賦值一下,若是知道這個了,就簡單了本身寫。測試
引入到你要用的clone的頁面就ok(或者直接寫入<script></script>)。this
jquery.fix.clone.jsspa
(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);