0

我有一个 PHP 数组,我想传递给我的 jquery(用我的 php 数组替换测试数组)。

Array
(
    [12] => Some Text
    [6] => Another text
    [11] => one more text
)

查询:

$('#SearchUser').typeahead({
                source: [
                    { ID: 1, Name: 'Toronto' },
                    { ID: 2, Name: 'Montreal' },
                    { ID: 3, Name: 'New York' },
                    { ID: 4, Name: 'Buffalo' },
                    { ID: 5, Name: 'Boston' },
                    { ID: 6, Name: 'Columbus' },
                    { ID: 7, Name: 'Dallas' },
                    { ID: 8, Name: 'Vancouver' },
                    { ID: 9, Name: 'Seattle' },
                    { ID: 10, Name: 'Los Angeles' }
                ],
                display: 'Name',
                val: 'ID',
                itemSelected: updateID
            });

那么如何将“源”的 var 设置为我的 php 数组?

建议?

一如既往,你真棒!

-汤姆

4

4 回答 4

1

您可以使用 php 的 json_encode 函数将 php 数组转换为 json。然后你可以使用 json 作为 javascript 数组。

http://www.php.net/manual/en/function.json-encode.php

我不知道你如何从 php 代码获取数据到 javascript 代码,但如果你将数据打印为 json,你可以通过 ajax 调用来获取它。

于 2012-08-07T22:36:57.670 回答
1

我在我的一个项目中是如何做到的,

$.get("<?= $baseUrl ?>search/data", function (data) {
    var dataObject = JSON.parse(data);
    $('#q').typeahead({
        'source': dataObject,
        // 'items': 5
    });
});

我的搜索控制器的数据方法是:

echo (json_encode($arr)); // $arr is ["a","b","c"] etc. but you can have an associated array too.

基本上,显示我的代码的目的是说使用json

于 2012-08-07T22:40:05.667 回答
0

使用 PHP 的json_encode()函数创建一个有效的 JSON 字符串,然后使用 jQuery 的$.getJSON().

像这样的东西:

get_array.php

$someArray = /* whatever */;
echo json_encode($someArray);

read_array.js

$.getJSON('get_array.php', function(data) {
    // data now contains your array
});

或者,您可以执行以下操作:

<script type="text/javascript">
    var someArray = <?php echo json_encode($someArray); ?>
</script>

如果您不想要单独的文件并且不介意为其使用全局变量。

于 2012-08-07T22:37:23.943 回答
-1

您可以执行以下操作:

<script type="text/javascript">
    var jsArray = <?php echo json_encode($phpArray); ?>
</script>

但是将语言 X 与语言 Y 混合使用是一种不好的做法。

好吧,看看我对这篇文章的回答,您可以在其中以更好的方式执行以下操作:

基于服务器端逻辑的有条件地回显 Javascript 代码是否被认为是有害的?

希望这可以帮助 :-)

于 2012-08-07T22:42:56.100 回答