Показать сообщение отдельно
  #1 (permalink)  
Старый 28.12.2011, 20:08
Новичок на форуме
Отправить личное сообщение для daniel20 Посмотреть профиль Найти все сообщения от daniel20
 
Регистрация: 18.09.2008
Сообщений: 7

как заполнить объект через цикл?
Здравствуйте!
Вопрос может быть и очень простой, но я новичек в javascipt и JQUERY, прошу сильно не ругать.
Хочу создать обьект, через цикл, следующего содержания:
{
         events : [
            {
               "id":1,
               "start": new Date(year, month, day, 12,15),
               "end": new Date(year, month, day, 13, 30),
               "title":"Lunch with Mike"
            },
            {
               "id":2,
               "start": new Date(year, month, day, 14),
               "end": new Date(year, month, day, 14, 45),
               "title":"Dev Meeting"
            }
         ]
      }

пишу вот так:
$.each(obj, function(index, value) { 
          date_time     = value.DateStart.split(' ');
          date          = date_time[0].split('-');
          time          = date_time[1].split(':');
          year_start    = date[0];
          month_start   = date[1];
          day_start     = date[2];
          hour_start    = time[0];
          minute_start  = time[1];
          
          date_time     = value.DateEnd.split(' ');
          date          = date_time[0].split('-');
          time          = date_time[1].split(':');
          year_end      = date[0];
          month_end     = date[1];
          day_end       = date[2];
          hour_end      = time[0];
          minute_end    = time[1];

          if(elements != undefined){
              elements = {
                   "id":value.ReminderID,
                   "start": new Date(year_start, month_start-1, day_start , hour_start, minute_start),
                   "end": new Date(year_end, month_end-1, day_end, hour_end, minute_end),
                   "title":value.Title,
                   "body":value.Body
                } 
          }else{
              elements = {
                   "id":value.ReminderID,
                   "start": new Date(year_start, month_start-1, day_start , hour_start, minute_start),
                   "end": new Date(year_end, month_end-1, day_end, hour_end, minute_end),
                   "title":value.Title,
                   "body":value.Body
                } 
          }
        });
      return {
         events : [
            elements
         ]
        };

Вопрос: как я должен присваивать переменной
elements
значения, чтоб не выдавало только последнее значение.
пробовал вот так:
elements += {
                   "id":value.ReminderID,
                   "start": new Date(year_start, month_start-1, day_start , hour_start, minute_start),
                   "end": new Date(year_end, month_end-1, day_end, hour_end, minute_end),
                   "title":value.Title,
                   "body":value.Body
                }

и так:
[JS]elements += {
                   "id":value.ReminderID,
                   "start": new Date(year_start, month_start-1, day_start , hour_start, minute_start),
                   "end": new Date(year_end, month_end-1, day_end, hour_end, minute_end),
                   "title":value.Title,
                   "body":value.Body
                }+','

[/JS]
ни один вариант не идет.
Ответить с цитированием