Показать сообщение отдельно
  #1 (permalink)  
Старый 17.05.2017, 23:05
Новичок на форуме
Отправить личное сообщение для AVAV84 Посмотреть профиль Найти все сообщения от AVAV84
 
Регистрация: 17.05.2017
Сообщений: 7

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, но тоже не получилось найти толкового примера как это должно работать в моем случае. Да и вариант выше мне кажется почти правильным.

Помогите, пожалуйста. Уже сил нет.
Ответить с цитированием