4

我将如何在 jQuery 中使用 php 值?,我正在做的是使用 php 从数据库中提取增值税率,如下所示并存储在 $vatrate 中:

$sqlv = <<<SQL
SELECT *
FROM   `vatrate`
WHERE  id='1'
SQL;
if(!$resultv = $db->query($sqlv)){
  die('There was an error running the query [' . $db->error . ']');
}
while($rowv = $resultv->fetch_assoc()){
    $vatrate =  $rowv['vatrate'];
} ?>

然后我有我的 jQuery 脚本,它将所有行总数加在一起并将其放入一个跨度中。

<script>
$(document).ready(function() {
    $('input').on('keyup', function() {
        var rawValue, grandtotal = 0;
        $('span[id^="linetotal"]').each(function(i, elem) {
            rawValue = $.trim($(this).text());
            if (rawValue == '') rawValue = 0;
            grandtotal += parseFloat(rawValue);
        });
        $('#grandtotal').text(grandtotal);
    });
});
</script>

但现在我不确定如何在 jQuery 中引用 php 中声明的 $vatrate 值,以便我可以得到价格 + 增值税。增值税是对不在英国的任何人的销售税:)。

4

3 回答 3

11

在您的 javascript/jquery 代码中的 PHP 页面中,您可以像这样将 PHP 变量分配给您的 javascript 变量(注意,您不能这样做,因为 PHP 是服务器端,而 javascript 是客户端):

<script>
    var vatrate = '<?php echo($vatrate);?>';
</script>
于 2013-07-02T13:33:56.057 回答
0

只需回显您希望值驻留在脚本中的 PHP...

<?php $bar = "bar"; ?>
<script>
var foo = "<?php echo $bar; ?>";
alert(foo); // bar
</script>

但是,如果没有适当的回退,您永远不应该过分依赖 javascript。

于 2013-07-02T13:34:56.847 回答
0

如果将变量回显到 Javascript 中,则可以省略引号并将其转换为浮点数,这意味着 Javascript 变量是浮点数,并且可以用于计算。转换为浮点数还可以防止任何跨站点脚本 (XSS) 的可能性。

<script>
var vatRate = <?php echo (float)$vatrate; ?>;

$(document).ready(function() {
    $('input').on('keyup', function() {
        var rawValue, grandtotal = 0;
        $('span[id^="linetotal"]').each(function(i, elem) {
            rawValue = $.trim($(this).text());
            if (rawValue == '') rawValue = 0;
            grandtotal += parseFloat(rawValue);
        });

        // add the vat to the grandtotal
        // assuming vatRate is 20 for 20%, not 0.2
        grandtotal += (grandtotal * (vatRate / 100));
        $('#grandtotal').text(grandtotal);
    });
});
</script>
于 2013-07-02T13:40:37.360 回答