javascript - 在实现自动完成中使用 php 数组

标签 javascript php jquery materialize

我正在尝试初始化 materialize autocomplete使用一个简单的 PHP 数组 ($keysArray)。我正在使用 json_encode 将 PHP 数组转换为 Javascript,但由于某些原因,以下内容不起作用。自动完成下拉菜单根本不会出现 - 只有当我直接键入键时它才会起作用,就像在“初始化”下的 MaterializeCSS 链接中的示例中一样。

var tempArray = <?php echo json_encode($keysArray); ?>;
const ac = document.querySelector('.autocomplete');
  M.Autocomplete.init(ac, {
    source: tempArray;
  });

下面是数组结构的副本:

  $keysArray = array (
    "Test1",
    "Test2",
    "Test3"
  );

最佳答案

根据初始化信息,您应该使用数据而不是源。

var tempArray = <?php echo json_encode($keysArray); ?>;
    const ac = document.querySelector('.autocomplete');
    M.Autocomplete.init(ac, {
      data: tempArray;
    });

他们还使用了对象,而不是数组:

$keysArray = {
    "Test1" : null,
    "Test2" : null,
    "Test3" : null
  };

关于javascript - 在实现自动完成中使用 php 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54355210/

相关文章:

javascript - 如何使用 Angular2 制作预加载器

php - Symfony2 缓存 session 不是垃圾收集导致磁盘已满问题

javascript - 如何使用 AJAX 和 php 将多个文件上传到服务器

javascript - 如何从 json() 对象访问键/值对?

javascript - 如何使用键盘快捷键调用 JavaScript 函数?

javascript - 页面加载时显示输入内容

php - 使用 jQuery/AJAX 从 php POST 接收返回 JSON

jquery - 删除对话框中的叉号jquery

javascript - Event.PreventDefault() 并不总是有效

jquery - .on() 绑定(bind)在触发后不起作用 ('create' )