Копирование текстового массива ввода адреса доставки в адрес доставки - PullRequest
0 голосов
/ 31 августа 2011

Мне интересно, как я могу получить входное значение, когда его имя является массивом.

Например:

<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 ]

4 голосов
/ 31 августа 2011

Выполните итерацию по каждому, используя итератор i, чтобы выбрать, какой вход для доставки обновить:

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

(мой код предполагает, что вы связываете это действие с нажатием кнопки)

2 голосов
/ 31 августа 2011

Если у вас одинаковое количество отправляемых элементов и платежных элементов, и что у них есть соответствующие позиции в вашем 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/

0 голосов
/ 31 августа 2011

Ваши данные должны иметь уникальные идентификаторы. Тогда вы можете использовать JQuery следующим образом:

$('#shippingaddress1').val($('#billingAddress1').val());

для каждой пары входов

0 голосов
/ 31 августа 2011

Вы могли бы сделать

$('#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/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...