Ajax ответ разбить и разместить в нескольких местах сайта.
Привет товарищи! Помоги пожалуйста!
Стоит задача, второй день не могу решить. Посмотрел тонну информации, но ничего рабочего не нашел.
Задача: Сделать корзину на сайте, при нажатие + и - количества = менять цену за каждый товар и общую цену заказа.
Отправку делаю по нажатию на div c + и -:
<div id="price">2990</div>
<div id="price_zakaz">13200</div>
<div id="quantity">1</div>
<div onclick="SendPlus();">+</div>
<div onclick="SendMinus();">-</div>
Дальше сам ajax, где передаю в переменную quantity текущее количество товара, ну и цену товара:
function SendPlus(){
var quantity = document.getElementById("quantity").innerHTML;
var price= document.getElementById("price").innerHTML;
var price_zakaz= document.getElementById("price_zakaz").innerHTML;
$.ajax({
type: "POST",
url: "cartaction.php?quantity-plus",
data: ({quantity : quantity, price: price, price_zakaz: price_zakaz}),
success: function(response){
$('#quantity').html(response);
}
});
};
...
function SendMinus(){
...
в cartaction.php:
if (isset($_GET["quantity-plus"])) {
$summ = $_POST["quantity-plus"]+1;
if ($summ < 1) {$summ = 1;};
echo $summ;
}
В таком виде меняется количество все отлично. Но мне нужно сделать чтоб так же менялась сумма за несколько товаров и конечная стоимость заказа.
Как мне разбить ответ от ajax на несколько полей на сайте? К сожалению в javascript совсем не силен.
Мои предположения как можно сделать:
1.
- Передать строку такого вида echo "$summ,$price,$price_zakaz"; С целью разбить ее потом ","
- В ответе ajax сделать что-то подобное:
...
success: function(data){
data = data.split(',');
$('#quantity').html(data[0]);
$('#price').html(data[1]);
$('#price_zakaz').html(data[1]);
}
Но этот вариант почему-то не работает. Что можно сделать? Как правильно разбить строку и передать по ID div правильно?
Пробовал еще как-то так:
var myString = "coming,apart,at,the,commas";
var substringArray = myString.split(","); // ["coming", "apart", "at", "the", "commas"]
Но тоже не получалось.
Читал много про JSON, но тоже не получилось найти толкового примера как это должно работать в моем случае. Да и вариант выше мне кажется почти правильным.
Помогите, пожалуйста. Уже сил нет.
|