jquery的clone方法 于textarea和select的bug修复

在使用jquery的clone方法时,textarea和select的值clone的时候会丢掉,这可能是这个方法的一个BUG。解决办法就是在clone的时候将val再重新赋值一下。

引入到你要用的clone的页面:

    (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 @ 2016-08-17 10:34  蕤颜  阅读(258)  评论(0编辑  收藏  举报