【问题标题】:Parsing value of PHP array to jQuery将 PHP 数组的值解析为 jQuery
【发布时间】:2016-12-30 13:14:18
【问题描述】:

我正在一个页面上编码,该页面在更改输入字段时会动态计算价格:

<input type="number" id="amount" name="amount" type="number" value="0" min="1" max="6">

计算基于一个php数组:

$plz[01] = array( 1=> 58, 2=> 43, 3=> 32, 4=> 26, 5=> 22, 6=> 19 );
$plz[02] = array( 1=> 58, 2=> 43, 3=> 32, 4=> 26, 5=> 22, 6=> 19 );
$plz[03] = array( 1=> 58, 2=> 43, 3=> 32, 4=> 26, 5=> 22, 6=> 19 );

我正在尝试将 PHP 代码解析为我的脚本,这很有效:

$("#amount").on('change',function() {
var sum = <?php echo $plz[01][6]; ?>;
}

但我需要选择金额的值作为键。像这样的:

$("#amount").on('change',function() {
var sum = <?php echo $plz[01] [$(this).val();] ?>;
}

有没有办法做到这一点?提前致谢。

【问题讨论】:

  • 为什么不使用json_encode 将 PHP 数组导出到 JavaScript?另请注意,使用01 将变为base-8,而不是您预期的(如“01”)
  • 我认为您的意思是“通过”而不是“解析”/“解析”。
  • 您可以在之前将值保存到 js var 中,或者创建额外的 php 文件并通过 $.ajax 加载函数保存其中的值。

标签: php jquery arrays key


【解决方案1】:

您可以在 PHP 代码中使用 json_encode 以 JSON 格式将数组输出到您的 JS 代码,然后您可以将其解析为一个对象。

var json = <?= json_encode($plz) ?>;
var arr = JSON.parse(json);

从那里您可以根据需要读取数组:

$("#amount").on('change', function() {
    var sum = arr['01'][this.value - 1];
});

Working example

请注意,在上面的示例中,我直接包含了 JSON,但在给定示例数组的情况下,这应该是 PHP 的输出。

【讨论】:

  • 非常感谢!我会尝试使用 JSON。
  • 没问题。如果答案有帮助,您可以点击左侧的绿色勾号接受它
猜你喜欢
  • 1970-01-01
  • 2018-08-25
  • 2015-05-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-03-24
  • 2017-09-08
  • 2023-04-11
相关资源
最近更新 更多