[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Отправка через jQuery - замучился!
Alexander
Здравствуйте! Я пишу 1 скрипт, использующий jQuery. Не буду вдаваться в подробности, а приведу лишь критический фрагмент кода:
HTML
for(i=1; i < 3; i++) {
$.post("script.php",{"name": name}, function(data) { // Обращаемся к php-скрипту и передаём ему параметр 'name'
$("#car_price"+i).html(data); // У меток с id='car_priceN' заменяем значения на те, которые высчитал скрипт.
});
}

Проблема в том, что меток CAR_PRICE - 3 штуки:
HTML
<label id='car_price1'>250000 руб</label>
<label id='car_price2'>12000 руб</label>
<label id='car_price3'>240000 руб</label>

Соответственно, строка
HTML
$("#car_price"+i).html(data);

Должна прибавлять к айдишнику метки соответствующий номер. Но он почему-то не прибавляется! Помогите, в чём тут трабла?



Спустя 32 минуты, 44 секунды (20.02.2009 - 14:30) jetistyum написал(а):
i вне области видимости переменной... запрос асинхронный тоесть функция callback может выполниться гораздо позже, чем отправится запрос..
и зачем тебе отправлять три запроса. если можно отправлять один и в callback функции проапдейтить все. получать i тебе нужно наверное с сервера.

Спустя 9 минут, 13 секунд (20.02.2009 - 14:39) alex666 написал(а):
Ну задача вот в чём: есть html-код типа:
HTML
<select id="currency_region">
<option value="1">РУБ</option>
<option value="2">USD</option>
<option value="3">EUR</option>
</select>
<label id='car_price1'>250000 руб</label>
<label id='car_price2'>12000 руб</label>
<label id='car_price3'>240000 руб</label>

Мне надо что при выборе отперелённой валюты, php-скрипт рассчитывал сумму в нужном эквиваленте. Сам js выглядет так:
HTML
$(document).ready(function() {
$("#currency_region").change(function(){
var labels = document.getElementsByTagName('label'); // массив меток
for(i = 0; i < labels.length; i++) {
if(/car_price/.test(labels.item(i).id)) { // Если метка - car_price (а таких 3)
var labelName = labels.item(i).id; // Имя метки (car_price1, например)
var labelValue = labels[i].innerHTML; // Значение метки (250000 руб например)
$.post("set_prices.php",{"price": labelValue}, function(data) { // послыем скрипту текущее значение - 250000
$("#"+labelName).html(data); // а тут - предыдущее значение для данной метки меняется на новое, возвращённое php-скриптом
});
}
}
});
});

А трабла в том, что изменяется тока для последней метки - car_price3. Как быть?
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.