Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 04.02.2010, 19:27
Новичок на форуме
Отправить личное сообщение для maxtet Посмотреть профиль Найти все сообщения от maxtet
 
Регистрация: 20.08.2009
Сообщений: 4

Передача параметров в цикле
Пишу программу с использованием Jquery. Стоит задача передать данные посредством асинхронного запроса к серверу. Написал такую функцию:

function jewerly_buyout_refresh(numb)
{
  
  var action_flag = $('input#JewerlyActionFlag').val();
  var jewerly_numb = $('select#JewerlyActionNumber').val();
  var action_button = $('input#JewerlyActionButton').val();
  var jewerly_name = $('input#JewerlyActionName').val();
  var jewerly_cat = $('select#JewerlyActionCat').val();
  var jewerly_proba = $('select#JewerlyActionProba').val();
  var jewerly_mass_b = $('input#JewerlyActionMassB').val();
  var jewerly_mass_n = $('input#JewerlyActionMassN').val();
  var jewerly_zalog = $('input#JewerlyActionZalog').val();
  var jewerly_percent = $('input#JewerlyActionPercent').val();
  var jewerly_penya = $('input#JewerlyActionPenya').val();
  
  var jewerly_title_add = [];
  for (var i=1; i<=numb; i++)
  {
    jewerly_title_add[i] = $('input#JewerlyActionTitleAdd' + i).val();
  }
  
  $.post('index.php', 
  {
    action_button: action_button,
    jewerly_numb: jewerly_numb,
    jewerly_name: jewerly_name,
    jewerly_cat: jewerly_cat,
    jewerly_proba: jewerly_proba,
    jewerly_mass_b: jewerly_mass_b,
    jewerly_mass_n: jewerly_mass_n,
    jewerly_zalog: jewerly_zalog,
    jewerly_percent: jewerly_percent,
    jewerly_penya: jewerly_penya,
    jewerly_title_add1: jewerly_title_add[1],
    jewerly_title_add2: jewerly_title_add[2],
    jewerly_title_add3: jewerly_title_add[3],
    jewerly_title_add4: jewerly_title_add[4],
    action_flag: action_flag
  }, 
  function(data)
  {
    $('div#JewerlyActionWindows').load('modules/mod_jewerly/actions/jewerly_buyout.php',
    {
      action_button: action_button,
      jewerly_numb: jewerly_numb,
      jewerly_name: jewerly_name,
      jewerly_cat: jewerly_cat,
      jewerly_proba: jewerly_proba,
      jewerly_mass_b: jewerly_mass_b,
      jewerly_mass_n: jewerly_mass_n,
      jewerly_zalog: jewerly_zalog,
      jewerly_percent: jewerly_percent,
      jewerly_penya: jewerly_penya,
      jewerly_title_add1: jewerly_title_add[1],
      jewerly_title_add2: jewerly_title_add[2],
      jewerly_title_add3: jewerly_title_add[3],
      jewerly_title_add4: jewerly_title_add[4],
      action_flag: action_flag
    }
    );
  });
}


Функция работает, но хотелось бы, услышать рекомендации как её оптимизировать. Например, следующий участок кода:

jewerly_title_add1: jewerly_title_add[1],
jewerly_title_add2: jewerly_title_add[2],
jewerly_title_add3: jewerly_title_add[3],
jewerly_title_add4: jewerly_title_add[4],


Хотелось бы реализовать в цикле.
Ответить с цитированием
  #2 (permalink)  
Старый 04.02.2010, 19:32
Отправить личное сообщение для Octane Посмотреть профиль Найти все сообщения от Octane  
Регистрация: 10.07.2008
Сообщений: 3,873

Не знаете, как в объект добавить свойства в цикле?
Ответить с цитированием
  #3 (permalink)  
Старый 04.02.2010, 19:35
Новичок на форуме
Отправить личное сообщение для maxtet Посмотреть профиль Найти все сообщения от maxtet
 
Регистрация: 20.08.2009
Сообщений: 4

Именно так. Где можно посмотреть информацию, что бы использовать её в данном примере.
Ответить с цитированием
  #4 (permalink)  
Старый 04.02.2010, 19:40
Отправить личное сообщение для Octane Посмотреть профиль Найти все сообщения от Octane  
Регистрация: 10.07.2008
Сообщений: 3,873

var params = {
    action_button: action_button,
    jewerly_numb: jewerly_numb,
    jewerly_name: jewerly_name,
    jewerly_cat: jewerly_cat,
    jewerly_proba: jewerly_proba,
    jewerly_mass_b: jewerly_mass_b,
    jewerly_mass_n: jewerly_mass_n,
    jewerly_zalog: jewerly_zalog,
    jewerly_percent: jewerly_percent,
    jewerly_penya: jewerly_penya,
    action_flag: action_flag
};

for (var i=1; i<=numb; i++) {
    params["jewerly_title_add" + i] = $('input#JewerlyActionTitleAdd' + i).val();
}

$.post('index.php', params, …
Ответить с цитированием
  #5 (permalink)  
Старый 04.02.2010, 19:54
Новичок на форуме
Отправить личное сообщение для maxtet Посмотреть профиль Найти все сообщения от maxtet
 
Регистрация: 20.08.2009
Сообщений: 4

Огромное спасибо, это как раз то, что мне нужно. После оптимизации код значительно уменьшился.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Изменение innerHTML в цикле %) Tror Общие вопросы Javascript 24 03.05.2012 06:36
Передача параметров в виде массива в функцию Buzz Общие вопросы Javascript 2 11.10.2009 12:53
Передача параметров из одного фрейма в другой Игорь12345 Events/DOM/Window 15 17.06.2009 15:48
JQuery передача параметров в callback Cepin jQuery 8 08.05.2009 21:19
передача параметров функции underW Общие вопросы Javascript 2 04.04.2009 23:03