Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Web программирование > JavaScript, Ajax
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 01.12.2011, 08:48   #1
PR0Z0N
Пользователь
 
Регистрация: 28.05.2009
Сообщений: 17
По умолчанию AJAX.Выполнение нескольких действий

Всем привет!Есть такой скрипт, который добавляет допустим какой либо Товар в корзину , без обновления страницы (пример 1 , 2).Но проблема в том что он добавляет только один товар, который самый первый, остальные кнопки не работают, а надо чтобы была возможность добавить все товары.Ajax я только изучаю, весь вечер вожусь, не могу разобраться.Пробывал использовать циклы в ajax, не помогает, видимо не так делал.Вот собственно сам код:
Код:

...


<script src="jquery-1.2.3.pack.js"></script>
<script type="text/javascript">
$(function() {
  var id = $("input#id").val();
  $(".button_"+id+"").click(function() {


		var dataString = 'id='+ id;

	$.ajax({
      type: "POST",
      url: "data.php",
      data: dataString,
      success: function() {
        $('#test_form_'+id+'').html("<div id='message'></div>");
        $('#message').html("Товар №"+id+" добавлен")
        .hide()
        .fadeIn(1200, function() {

        }); }
     });
    return false;
	});
});
</script>
</head><body>
<?php
 $i=0;
while ($i++<5)
 {
  echo '<div id="test_form_'.$i.'"><form name="contact" action="">Товар №  '.$i.'
       <input type="hidden" name="id" id="id" value="'.$i.'" class="text-input" />
       <input type="submit" name="submit" class="button_'.$i.'" id="submit_btn" value="В корзину" /></form></div><br/>';
 }
?>


...
Подскажите пожалуйста как правильно сделать?
PR0Z0N вне форума Ответить с цитированием
Старый 01.12.2011, 09:11   #2
Виталий Желтяков
Старожил
 
Аватар для Виталий Желтяков
 
Регистрация: 19.04.2010
Сообщений: 2,702
По умолчанию

Код:
var id = $("input#id").val();
Как это по вашему работает?
Виталий Желтяков вне форума Ответить с цитированием
Старый 01.12.2011, 09:27   #3
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

Цитата:
Как это по вашему работает?
да вроде можно так.
хотя лучше лишь по одному id искать(ну если боитесь за повторение, то сделать его сложнее)
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 08.12.2011, 18:00   #4
PAAG
Пользователь
 
Регистрация: 08.12.2011
Сообщений: 18
По умолчанию

Не понял вот этой конструкции
Код:
$(".button_"+id+"").click(function() {
Для чего? Чтобы id узнать?
Лучше повесить обработчик сразу на все кнопки
Код:
$("#submit_btn").click(function() {
А внутри этой функции можно вытащить this - это как раз объект нажатой кнопки.
Кроме того, я бы лучше классы сделал одинаковые, а вот id у кнопок разными.
PAAG вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Выполнение действий по таймеру Terran Общие вопросы Delphi 3 25.09.2011 16:02
Выполнение действий при смене значений ComboBox iGremlin Microsoft Office Excel 9 16.08.2011 14:48
Выполнение действий перейдя по ссылке, как? men232 Помощь студентам 3 27.07.2011 19:40
Авторизация и выполнение действий. Rock'n'rolla Работа с сетью в Delphi 13 25.01.2010 21:05
выполнение нескольких действий??? zzzzz HTML и CSS 2 11.12.2008 11:59