将开票复制到送货地址文本输入数组

时间:2011-08-31 17:11:39

标签: jquery forms input

我想知道当名字是数组时我怎么能得到输入值。

例如:

<tr>
    <td>Address 1:</td>
    <td><input type="text" name="billing_info[]" /></td>
</tr>   
<tr>
    <td>Address 2:</td>
    <td><input type="text" name="billing_info[]" /></td>
</tr>   
<tr>
    <td>City:</td>
    <td><input type="text" name="billing_info[]" /></td>
    <td>State:</td>
    <td><input type="text" name="billing_info[]" /></td>
</tr>   

    <th><p>Shipping Info</p></th>

<tr>
       <td colspan="2">
            <input type="checkbox" id="shipping_address" 
             name="shipping_checkbox" />Same as Billing Address </td>
</tr>
<tr>
       <td>Address 1:</td>
       <td><input type="text" name="shipping_info[]" /></td>    

似乎有很多使用jQuery复制输入值的示例,但是如何从billing_info[]获取值并将它们复制到shipping_info[]

4 个答案:

答案 0 :(得分:4)

遍历每个,使用迭代器i选择要更新的运输输入:

$('#copy').click(function(){
    $('input[name="billing[]"]').each(function(i, el){
        $('input[name="shipping[]"]').eq(i).val($(this).val());
    });
});

(我的代码假设您将此操作绑定到按钮上)

答案 1 :(得分:2)

假设您拥有相同数量的送货元素和结算元素并且他们在您的HTML中有相应的位置,这应该可以。

var shipping = $("input[name='shipping_info[]']");
var billing = $("input[name='billing_info[]']");
shipping.each(function(i, o) {
  $(billing.get(i)).val($(o).val());
}) 

请参阅有关jsFiddle的工作演示:http://jsfiddle.net/FJjvt/

答案 2 :(得分:0)

你可以做到

$('#copy').click(function() {
    var value = '';
    $('input[name="billing_info[]"]').each(function() {
        value += this.value;
    });
    $('input[name="shipping_info[]"]').val(value);
});

在这里摆弄http://jsfiddle.net/trmr9/1/

答案 3 :(得分:0)

您的输入需要具有唯一ID。然后你可以像这样使用JQuery:

$('#shippingaddress1').val($('#billingAddress1').val());
每对输入