javascript – 用PHP数组填充JQuery自动完成

前端之家收集整理的这篇文章主要介绍了javascript – 用PHP数组填充JQuery自动完成前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

我是JavaScript和JQuery的相对noob,但我已经在网上搜索了几个小时来找到这个问题的答案.我正在尝试使用我在PHP中创建的数组填充JQuery自动完成函数.这是数组的片段:

PHP
    $arr = array(
        "Abaddon" => "/BlinkDaggerSounds/abad_blink_01.mp3","Alchemist" => "/BlinkDaggerSounds/alch_blink_01.mp3","Anti Mage" => "/BlinkDaggerSounds/anti_blink_01.mp3","Ancient Apparition" => "/BlinkDaggerSounds/appa_blink_01.mp3","Axe" => "/BlinkDaggerSounds/axe_blink_01.mp3",);
?>

这是我正在尝试运行的脚本:

PHP echo json_encode($arr); ?>

        $( "#auto" ).autocomplete({
            source: availableTags;
        });

    });

以下是表格:

PHP" class="answer_Box">

我的头标记

Meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    

我无法弄清楚我错过了什么;自动填充选项不会显示在文本框中.我也尝试用implode()代替json_encode(),但得到了相同的非结果.

最佳答案
我相信你当前的代码应该返回一些语法错误.点击F12然后找出答案.

您似乎正在尝试使用jQuery UI中的Autocomplete小部件.普通的旧jQuery中没有内置自动完成功能,因此您还必须包含jQuery UI.

这部分是JavaScript:

$( "#auto" ).autocomplete({
    source: availableTags;
    });
});

这意味着availableTags也需要是一个JavaScript数组. JavaScript数组最简单的语法是var myArray = [‘a’,’b’,’c’] ;.

您需要将PHP数组输出到JavaScript数组中,这可以通过implode函数完成.如果给定一个数组,则implode函数将连接该数组中的所有值.在您的情况下,您希望数组的键位于数组中而不是值.因此,您可以使用array_keys函数检索给定数组中的所有键.你最终会得到:

var availableTags = [PHP echo '"' . implode ('","',array_keys ($arr)) . '"'; ?>];

当你的页面加载时,你应该得到一个合适的JavaScript数组:

var availableTags = ["Abaddon","Alchemist","Anti Mage","Ancient Apparition","Axe"];

据我所知,没有Dota英雄的名字中有双引号,所以使用双引号作为字符串应该没问题.

原文链接:https://www.f2er.com/jquery/428363.html

猜你在找的jQuery相关文章