Создайте Динамическое отделение с уникальными идентификаторами - jQuery

Сообщите мне, не объясняю ли я это достаточно хорошо, поскольку я смущаю меня просто думающий об этом.

Я должен был смочь нажать на кнопку, которая говорит, "добавьте продукт" и имейте его, создают уникальное отделение каждый раз. Например, у первого отделения был бы идентификатор #product1, затем #product2 и т.д.

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

Сообщите мне, есть ли у Вас какие-либо решения. Спасибо, Carson

11
задан Carson 5 August 2010 в 15:16
поделиться

3 ответа

Вы можете просто использовать увеличивающуюся переменную ID, например:

var i = 1;
$("#addProduct").click(function() {
  $("<div />", { "class":"wrapper", id:"product"+i })
     .append($("<input />", { type: "text", id:"name"+i }))
     .append($("<input />", { type: "text", id:"property"+i }))
     .appendTo("#someContainer");
  i++;
});

Вы можете попробовать здесь , это очень общий ответ, но вы поняли идею, просто увеличивайте переменную каждый раз после добавления ваших элементов.

19
ответ дан 3 December 2019 в 03:03
поделиться

Обычно вам не нужно использовать идентификаторы таким образом.

После того, как вы создали новый элемент с помощью Javascript, у вас уже есть объект, который вы можете передавать в функции и т. Д. Вам, конечно, не нужно передавать идентификатор, чтобы вы могли передать его в document.getElementByID ()

1
ответ дан 3 December 2019 в 03:03
поделиться
$(function(){
    var pcount = icount = 0;

    $('<div/>', {
       id:   'product' + pcount++
    }).append($('<input/>', {
       id:   'input' + icount++
    })).append($('<input/>', {
       id:   'input' + icount++
    })).appendTo(document.body);
});
2
ответ дан 3 December 2019 в 03:03
поделиться
Другие вопросы по тегам:

Похожие вопросы: