表单使用clone方法后, 原有select无法生效
Posted mayBel
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了表单使用clone方法后, 原有select无法生效相关的知识,希望对你有一定的参考价值。
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无法生效的主要内容,如果未能解决你的问题,请参考以下文章
jQuery clone() FireFox 错误 - 无法提交克隆的表单
html表单提交后显示“disabled无法获取数据”怎么办?
为啥我使用 unshare(CLONE_NEWUSER) 后无法运行某些程序