2011-02-05 129 views
1

我有一个名称为first_name[120](预定义键)的文本输入,我想通过单击按钮将值复制到另一个first_name[different predefined key]字段。如何使用jQuery将一个数组元素值复制到另一个数组元素值

表单中可能还有其他first_name[different predefined key]字段,所以我需要灵活性来为其余的工作做好准备。有什么建议么?

编辑:

对不起,我想我需要提供一些信息。

该表单有一个用于礼品收件人信息的字段列表。表格中可能列出了多个礼物,每个礼物都有自己的字段用于输入礼物收件人的信息。基本上,我正在尝试为表单中的后续礼品收件人字段创建“从上面复制信息”功能。

编辑2:

这是我的解决方案,它的工作原理。请尽可能提出改进建议。它实际上绑定到一个包含所有礼物列表的下拉列表。因此,代码根据下拉的ID(例如123 | 130)知道要从哪个部分获取信息以及从哪里删除信息。

$('.copy_info').live('change', function(){ 

    var ids = $(this).val().split('|'); 

    var from = ids[0]; 
    var to = ids[1]; 

    $('#form_fields-' + from + " :input").each(function(){ 

     var name = $(this).attr('name'); 
     var new_name = name.replace(/[\d+]/,to); 

     $('#form_fields-' + to + ' input[name="' + new_name + '"]').val($(this).val()); 

    }); 

}); 
+1

相关... http://stackoverflow.com/questions/1865340/jquery-selector-array – jondavidjohn 2011-02-05 04:40:59

回答

2
$('button').click(function() { 
    $('input[name="first_name[xxx]"]').val($('input[name="first_name[120]"]').val()); 
}); 

xxx是要复制120到FIRST_NAME键的数量。

还记得你可以访问用this点击的特定按钮,或者用$(this)将它包装在一个jQuery对象中,以更具体地定位你选择操作的输入。

+0

谢谢。刚刚编辑了更多信息的问题。我不想在选择器中硬编码字段名称。 – pistolshrimp 2011-02-05 04:57:58

相关问题