【问题标题】:JQuery process cloned objectsjQuery处理克隆对象
【发布时间】:2011-03-08 03:24:47
【问题描述】:

请快速提问。您如何处理 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' 的“克隆/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);
});
});

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

提前致谢

【问题讨论】:

    标签: javascript jquery forms clone


    【解决方案1】:

    问题是这里的顺序,这两行颠倒了:

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

    您正在序列化 &lt;form&gt; 之前添加它,只需像这样交换它:

    $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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-11-07
      • 2011-05-27
      • 1970-01-01
      • 1970-01-01
      • 2013-01-03
      • 2017-02-11
      • 2011-07-10
      • 1970-01-01
      相关资源
      最近更新 更多