Как скопировать одно значение элемента массива в другое с помощью jQuery - PullRequest
1 голос
/ 05 февраля 2011

У меня есть текстовый ввод с именем first_name[120] (предопределенный ключ), и я хотел бы скопировать значение в другое поле first_name[different predefined key] одним нажатием кнопки.

Могут быть и другиеfirst_name[different predefined key] полей в форме, поэтому мне нужна гибкость, чтобы сделать эту работу для остальных.Любые предложения?

РЕДАКТИРОВАТЬ:

Извините, я думаю, что мне нужно дать немного больше информации.

Форма содержит список полей для информации о получателях подарков,В форме может быть указано несколько подарков, каждый из которых имеет свой собственный набор полей для ввода информации о получателе подарка.По сути, я пытаюсь создать функцию «Копировать информацию сверху» для последующих полей получателя подарка в форме.

РЕДАКТИРОВАТЬ 2:

Это мое решение, и оно работает.Пожалуйста, предложите улучшения, если это возможно.Это на самом деле связано с выпадающим списком всех подарков.Таким образом, код знает, из какого раздела извлекать информацию и куда ее отбрасывать, основываясь на идентификаторе раскрывающегося списка (например, 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 Ответ

2 голосов
/ 05 февраля 2011
$('button').click(function() {
    $('input[name="first_name[xxx]"]').val($('input[name="first_name[120]"]').val());
});

xxx - номер ключа first_name, который вы копируете 120 в.

Также помните, что вы можете получить доступ к определенной кнопке, которая была нажата с помощью this, или обернуть ее в объекте jQuery с помощью $(this), чтобы более конкретно нацелить ввод, который вы выбираете для манипулирования.

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