попытаться создать страницу корзины для покупок в виде яблока (обновление цен в зависимости от настроек) - PullRequest
0 голосов
/ 26 декабря 2010

Я пытаюсь сделать страницу корзины, где на основе каждого выбора цена обновляется, как вы видите на этой странице http://store.apple.com/us_smb_78313/configure/MC915LL/A?mco=MTk4Mjc2MDA

если вы заметили на странице яблока, что каждое значение радиополя имеет номер, например, 095-344, и это значение примерно равно как отправляется через ajax на сервер, который затем получает значение цены, которое будет добавлено в корзину как общее рассматривается.

я создал нечто подобное, вот ссылка. http://69.231.228.101:8888/demo/

Я сделал только первые два поля для работы, которые являются количеством и типом. при загрузке страницы автоматически выбирается 3-й вариант и отображается его цена. и когда выбирается раздел выбора, значение элементов накапливается до значения, которое уже существует в правом верхнем углу. проблема, с которой я столкнулся, заключается в том, что теперь вы снова выбираете количество, чтобы изменить количество, которое вы хотели, чтобы значение сбрасывалось вместо правильной математики. что я делаю не так?

плюс, знаете ли вы о jquery-сайте или каком-либо сайте, который пытался это сделать, чтобы я мог изучить? я смотрел долго и упорно и не могу найти ничего подобного созданного. я просто вижу кучу простых страниц расчета корзины и ничего похожего на то, что я ищу. На многих сайтах есть что-то вроде этого, которое я ищу, например, Apple, Dell, HP, для настройки продукта и обновления цен на основе вашего выбора. что мне интересно как и где они научились это делать. должен быть сайт, который этому учит.

спасибо

Ответы [ 2 ]

0 голосов
/ 29 декабря 2010

Я думаю, я понял это.я не могу поверить, что я не видел этого раньше.все, что мне нужно было сделать, это назначить выбранное значение для каждого выбора в его собственную переменную.затем в самом конце есть функция, которая захватывает каждое значение из каждого выбора, а затем отображает его.

var qprice;
var typeprice;


$(document).ready(function() {


        /* -----------------------------------------------------
                Quantity Selection
           ----------------------------------------------------- */

        $("#quantity").change(function() 
        {
            var hash = $("#quantity").val(); //returns 0001 (ex)



            $.get("ajax.php", { id: hash },

            function(data)
            {
                qprice = data.price;
                displayPrice();
            }, "json");
        });




        /* -----------------------------------------------------
                Type Selection
           ----------------------------------------------------- */
        $("#type").change(function() 
        {
            var hash = $("#type").val(); //returns 0001 (ex)


            $.get("ajax.php", { id: hash },

            function(data)
            {   
                typeprice = data.price
                displayPrice();
                //$("#price").attr({value: total});

            }, "json");
        });








        function displayPrice() 
        {
            total = parseInt(qprice) + parseInt(typeprice);
            alert(total);
        }


});

Мне просто нужно ввести все остальные проверки, чтобы я не получил неопределенных ошибок.Чарли, я люблю тебя, ты вдохновил меня на это.

0 голосов
/ 29 декабря 2010

Ну хорошо. Попробуйте это: возьмите свою форму и отправьте ее. (Если вы не делали этого тогда, делайте это) с помощью ajax (посмотрите на this ). Таким образом, каждое проверенное радио представлено. Теперь возьмите каждое радио и проверьте его значение, добавив к переменной $priceNUM правильное значение цены. В конце добавьте каждую цену из каждого проверенного радио вместе в $total var и выведите это. Вот глупый пример.

HTML

<form>
 <input type="radio" name="box1" value="01"/>
 <input type="radio" name="box1" value="03"/>
 <input type="radio" name="box1" value="03"/>

 <input type="radio" name="box2" value="01"/>
 <input type="radio" name="box2" value="03"/>
 <input type="radio" name="box2" value="03"/>

 <input type="radio" name="box3" value="01"/>
 <input type="radio" name="box3" value="03"/>
 <input type="radio" name="box3" value="03"/>
</form>

PHP

<?php

# Requiring vars
$box1 = $_POST['box1'];
$box2 = $_POST['box2'];
$box3 = $_POST['box3'];

# Checking
if (empty($box1) or empty($box2) or empty($box3)) { /* Error, or $price = 0 */ }

switch ($box1) 
{
 case '01':
  $price1 = 10;
 break;

 case '02':
  $price1 = 20;
 break;

 case '03':
  $price1 = 30;
 break;

 default:
  $price1 = 0;
 break;
}

switch ($box2) 
{
 case '01':
  $price2 = 50;
 break;

 case '02':
  $price2 = 100;
 break;

 case '03':
  $price2 = 150;
 break;

 default:
  $price2 = 0;
 break;
}

switch ($box3) 
{
 case '01':
  $price3 = 2;
 break;

 case '02':
  $price3 = 4;
 break;

 case '03':
  $price3 = 6;
 break;

 default:
  $price3 = 0;
 break;
}

$total = $price1 + $price2 + $price3;
echo $total;

?>

Теперь с помощью jquery создайте форму для отправки при изменении поля (я думаю, вы уже знаете, как это сделать), и мы закончили.

На самом деле, каждый раз, когда это происходит, мы рассчитываем общее количество, но это самый простой способ. Вы также можете сделать что-нибудь с базой данных или с куки, но это стало слишком сложно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...