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

时间:2019-01-24 20:59:01

标签: javascript php jquery materialize

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

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

下面是数组结构的副本:

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

2 个答案:

答案 0 :(得分:1)

根据初始化信息,您应该使用非来源的数据。

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
  };

答案 1 :(得分:0)

我写了一些代码片段,将数组转换为{{test1“:null,” test2“:null}格式的对象。

myObjectForAutocomplete =  myArray.reduce((obj, item) => {
  obj[item['oneOfYourPropertiesFromArrayItem']] = null
  return obj
}, {});