0

jqueryに渡したいPHP配列があります(テスト配列をphp配列に置き換えます)。

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

Jクエリ:

$('#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
            });

では、「ソース」の変数を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 に答える
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 に答える