Модераторы: Sardar, Aliance
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> JQ: $.each(function(N){/***/}) уникальный N 
V
    Опции темы
InfMag
Дата 6.10.2009, 17:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата



***


Профиль
Группа: Завсегдатай
Сообщений: 1037
Регистрация: 21.11.2004

Репутация: нет
Всего: 4



Доброго времени суток, написал функцию с использованием $.each() на jquery мне выдаётся N число по нарастанию от каждого прогона по циклу.
Код

$.each(obj,
   function(N) {
      //
   }
);

Функция вызывается позже повторно, что создаёт ошибки, из-за того что N в следующий раз уже не уникальный, потому что уже был использован в предыдущем вызове функции.
Можно ли как-то назначить старт с определённого числа, что бы самый первый N был равен например 50?
PM   Вверх
unicross
Дата 6.10.2009, 19:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 422
Регистрация: 15.6.2008

Репутация: 5
Всего: 53



Цитата(InfMag @  6.10.2009,  18:27 Найти цитируемый пост)
мне выдаётся N число по нарастанию от каждого прогона по циклу

Насколько я понимаю, вам выдается индекс элемента в массиве или ключ (свойство) объекта.
Цитата(InfMag @  6.10.2009,  18:27 Найти цитируемый пост)
Можно ли как-то назначить старт с определённого числа, что бы самый первый N был равен например 50?

Создайте глобальную переменную и увеличивайте ее внутри функции $.each().
Код

<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<script src="jquery.js" type="text/javascript"></script>
<script type="text/javascript">
$(document).ready(function() {
   var N = 50;
   var arr = [ 1, 2, 3 ];
   $.each(arr, function() {
      $("#div1").append(N + "<br>");
      N++;
   });
   $.each(arr, function() {
      $("#div1").append(N + "<br>");
      N++;
   });
   var obj = { "v1":1, "v2":2, "v3":3 };
   $.each(obj, function(key) {
      $("#div1").append(N + " =&gt; " + key + "<br>");
      N++;
   });
});
</script>
</head>
<body>
<div id="div1"></div>
</body>
</html>


Или нужно что-то другое?
PM MAIL WWW   Вверх
IDVsbruck
Дата 6.10.2009, 23:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 778
Регистрация: 12.11.2006

Репутация: 4
Всего: 22



Назначение? Сложно ответить на вопрос, который не задан. Думаю, неправильное распределение задачи.
PM MAIL   Вверх
InfMag
Дата 7.10.2009, 12:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата



***


Профиль
Группа: Завсегдатай
Сообщений: 1037
Регистрация: 21.11.2004

Репутация: нет
Всего: 4



Ну я имел в виду что бы цикл начинался с определённого числа. Но в принципе Вы правы, в любом случае нужно создавать глобальную переменную...
PM   Вверх
InfMag
Дата 7.10.2009, 14:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата



***


Профиль
Группа: Завсегдатай
Сообщений: 1037
Регистрация: 21.11.2004

Репутация: нет
Всего: 4



Сделал глобальную переменную и что бы не ковырять много чего по новой - сделал проще, в начале цикла после function (N)
Код

var objcounter = 0;
$.each(obj,
   function(N) {
      objcounter++;
      N = objcounter;
   }
);

PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: Применение библиотек | Следующая тема »


 




[ Время генерации скрипта: 0.0779 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.