Доброго времени суток!
О сообщество программистов javascript
, прошу вашей профессиональной помощи, так как не могу реализовать следующее.
Имеется список товаров, html-теги и классы, повторяются для каждого товара, но значения разные. Вот так:
<ul>
<li>
<img src="picture.png">
<h4>Товар 1</h4>
<form action="cart/add" method="post">
<input type="hidden" value="1" name="id" class="id">
<input type="hidden" value="Товар 1" name="name" class="name">
<input type="hidden" value="500" name="price" class="price">
<input type="submit" class="btn" value="Добавить">
</form>
</li>
<li>
<img src="picture.png">
<h4>Товар 2</h4>
<form action="cart/add" method="post">
<input type="hidden" value="2" name="id" class="id">
<input type="hidden" value="Товар 2" name="name" class="name">
<input type="hidden" value="300" name="price" class="price">
<input type="submit" class="btn" value="Добавить">
</form>
</li>
<li>
<img src="picture.png">
<h4>Товар 3</h4>
<form action="cart/add" method="post">
<input type="hidden" value="3" name="id" class="id">
<input type="hidden" value="Товар 3" name="name" class="name">
<input type="hidden" value="600" name="price" class="price">
<input type="submit" class="btn" value="Добавить">
</form>
</li>
</ul>
<div id="result">
//здесь отображается успешный результат ajax запроса
</div>
Далее, все клики на добавить я обрабатываю функциями ajax jQuery и все данные в полях <hidden> направляю на сервер (add.php), следующим кодом:
$(document).ready(function(){
$("form").submit(function(){
return false;
});
$("form").submit(function(){
var id = $(this).find("input.id").val();
var name = $(this).find("input.name").val();
var price = $(this).find("input.price").val();
var qty = '1';
$.ajax({
url: "cart/add",
type: "POST",
data: ({
id : id, name: name, price: price, qty: qty
}),
success: function(data)
{
$("#result").html(data);
}
});
});
});
Все бы хорошо, но необходимо добавить дополнительный скрытый элемент <hidden> в <li>, из которой был вызван <submit>. Но никак не получается.
Понимаю, что надо использовать функцию after() и т.п., однако как выбрать тот именно элемент к которому необходимо применить эту функцию, так как
Код:
|
$(this).find("input.name") и т.д. внутри функции success не работает |
Очень необходимо, прошу Вашей помощи....