Как автоматически сгенерировать индекс входного массива в jQuery? - PullRequest
0 голосов
/ 05 июля 2011

Например, у меня есть такой HTML:

<input name="someinput[]">

Я сделал функцию для клонирования / удаления этого ввода, но теперь я хочу назначить индексы для динамического именования - когда я создаю элемент, клонируемый, его новые имена должны быть someinput [1], someinput [2] и т. Д. - как сделать это?

Ответы [ 2 ]

2 голосов
/ 05 июля 2011

Вы можете просто заменить [] на [index], используя обратный вызов attr:

var i = 0;
$('button').click(function(){
 $('input:first').clone().attr('name',function(a,e){    
    i++;
    return e.replace("[]","["+i+"]");
 }).insertAfter($('input:last'));
});

пример: http://jsfiddle.net/niklasvh/c9G7c/

2 голосов
/ 05 июля 2011

Сохраните индекс следующего входа в глобальной переменной, а затем используйте его в своей функции клонирования. Это то, что вы делаете?

var source = $('#source')
var copy = source.clone().attr('name', 'some[' + index + ']')
$('body').append(copy);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...