jquery的clone办法bug修复

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


版权声明:本文博主原创文章。博客,未经同意不得转载。

posted @ 2015-09-24 19:41  hrhguanli  阅读(297)  评论(0编辑  收藏  举报