JQuery добавить возрастающие числа к ID - PullRequest
3 голосов
/ 26 октября 2011

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

Я прочитал Index и посмотрел другой пример, но не могу заставить его работать здесь,казалось, что это вызывает колебание, когда я вставляю переменную num. В любом случае, я вынул код, который его ломал.

Вот скрипка, http://jsfiddle.net/clintongreen/BMX4J/13/

Спасибо

Ответы [ 3 ]

5 голосов
/ 26 октября 2011

val() здесь не правильно.val() для элементов ввода.

Когда вы делаете:

var newDiv = $('<div id="toggleshow" ......

Измените его на:

var newDiv = $('<div id="toggleshow_' + num++ + '"

И выполните var num = 0; вне функции.

0 голосов
/ 26 октября 2011

Звучит так, как будто вы хотите сделать каждый идентификатор в созданном div уникальным, добавив счетчик сортировок к базовому идентификатору. Если так, то самый простой способ сделать это - использовать две функции. Пусть счетчик находится во внешней функции, и пусть внутренняя функция будет обработчиком щелчка, который захватывает счетчик и использует его повторно.

$(".add_menu_item").click((function() {
  var id = 0;
  return function () {
    var value = $(this).prev().val();
    if (value.length) {
      var newDiv = $('<div id="toggleshow" class="div_menu_button"></div>');
      var showDiv = $('<div id="show"' + id + '">Bob Lawbob</div>');
      $('#created_buttons_list').append(newDiv.val(value).text(value));
      newDiv.wrap("<li></li>");
      newDiv.after(showDiv);
      id++;
    }
  }
})());

Скрипка: http://jsfiddle.net/BMX4J/17/

0 голосов
/ 26 октября 2011

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

var count = $("#created_buttons_list").children().length;

newDiv.attr("id", newDiv.attr("id") + "_" + count.toString());
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...