JQuery进程克隆了对象

时间:2010-06-25 05:20:34

标签: javascript jquery forms clone

请快速提问。你如何处理JQuery克隆对象?

简单示例:

<div class="hello">
<select name="products[]">
<?php foreach ($pageposts as $post):
<option value="'.$post->ID.'">'.$post->post_title.'</option>
endforeach;?>
</select>
<input type="text" name="try[]">
<br/>
</div>
<form>
<div id="goodbye"></div>
<input type="button" id="rp" value="add">
</form>

这个JQuery(下面)在.goodbye div中创建了一个类'hello'的“clone / s”,它位于一个表单中。

$j=jQuery.noConflict();
$j(document).ready(function() {
$j('#rp').click(function(){ 
var str = $j(this).parent('form').serialize();
$j('.hello').clone().removeClass('hello').appendTo('#goodbye');
alert(str);
});
});

我需要做的是处理放置在表单内的“克隆”选择/输入。警报就在那里,所以我可以看到什么时候(我没有)获得通过的值。

提前致谢

1 个答案:

答案 0 :(得分:0)

问题在于这里的排序,这两行是相反的:

var str = $j(this).parent('form').serialize();
$j('.hello').clone().removeClass('hello').appendTo('#goodbye');

您在添加之前序列化<form> ,只需像这样交换:

$j=jQuery.noConflict();
$j(document).ready(function() {
    $j('#rp').click(function(){ 
        $j('.hello').clone().removeClass('hello').appendTo('#goodbye');
        var str = $j(this).parent('form').serialize();
        alert(str);
    });
});​

You can see a working demo here