jQuery getJSON - возможная синтаксическая ошибка - PullRequest
0 голосов
/ 31 марта 2011

Что ж, мне удалось собрать воедино следующее из различных примеров, однако я не верю, что функция javascript даже вызывается, ниже приведен весь мой код:

Javascript:

<script type="text/javascript" src="coding/jquery.js"></script>
<script type="text/javascript">

    function showHint(quantity, price){
     document.getElementById("txtcost").innerHTML="being called values" + quantity + price;
        $.getJSON('http://website.com/ecommerce/coding/validation/calprice.php', {q: quantity, p: price}, function(data){
            $('#txtcost').html('Total: ' + data.total);
            $('#txtvat').html('VAT: ' + data.vat);
        });

    }

</script>

Дисплей

<span id="txtcost" style="color:#060"></span>
<span id="txtvat" style="color:#060"></span>

PHP

<?php
echo "being called";
function data() {
$q = $_GET["q"];
$p =&$_GET["p"];

$total = $p * $q;

if($q >= 10)
{
    $total = ($total / 10) * 9;
    //echo '<strong>£ ' . $total . '</strong><span style="font-size:10px; font-weight:bold;"> Discount applied.</span>';
    echo json_encode(array('total' => $total, 'vat' => '10.00'));
}
else{ echo '<strong>£ ' . $total . '<strong>'; }}
?>

Надеюсь, что поможет

Примечание: код не идеален, я хочу, чтобы начальная функциональность работала.

РЕДАКТИРОВАТЬ:

ТАК, пока мне удалось установить:

Функциявызывается правильные значения передаются в функцию

Ответы [ 2 ]

2 голосов
/ 31 марта 2011

Во-первых, вам нужно использовать точечную нотацию JavaScript для ссылки на свойства объекта, а не оператор стрелки PHP:

data.total

вместо

data->total
0 голосов
/ 31 марта 2011

Я думаю, что проблема с вашими кавычками в строке 1, вы, кажется, взламываете php, возможно, вам нужно использовать что-то более похожее на:

<input name="quantity" type="text" id="quantity" onkeyup="showHint(this.value, ' . $events[0]['price'] . ' )" size="6" />

но трудно сказать без полного кода

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