【问题标题】:Typeahead not working with with ajax with response is in key=> value formatTypeahead 不使用带有响应的 ajax 是键 => 值格式
【发布时间】:2015-12-01 06:21:25
【问题描述】:

你好,当我只给出响应值时,我使用的预输入绞盘工作得很好,但是当我用键绑定值时,同样的工作将不起作用。 这是我的预输入代码。

$('#myInputId').typeahead({
    ajax: {
        url: "{some_url}",
        method: 'post',
        triggerLength: 1  
    },
    onSelect: displayResult
});

当我给出 ajax 响应时它工作正常..

["logo","PHP","HTML","Javascript"]

但不适用于..

{"1":"logo","2":"PHP","3":"HTML","4":"Javascript"}

任何帮助将不胜感激。 提前致谢。

【问题讨论】:

  • .typeahead 期望当对象数组返回为 source 时可能的结果为 {"value":"possible result":} ;尝试使用$.map()source 返回为[{"value":"logo"}, {"value":"PHP"}..]
  • 好的,我带来了[{id:1,skill:logo},{id:2,skill:PHP},{id:3,skill:HTML},{id:4,skill:Javascript}] 之类的回复,然后该怎么办。能否请您更具体地使用 $.map。
  • 他们使用 Bloodhound 但我没有。
  • source 是如何设置的?

标签: php jquery json ajax typeahead.js


【解决方案1】:

您可以从您的 ajax 调用中返回 json 响应,如下所示:-

// 进行查询和任何额外的登录 // $results 是查询中的数组

$final = array();
foreach($results as $row)
{
    $final[] = $row['key'];
}

return json_encode($final);

也许对你有帮助。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-09-17
    • 2011-05-02
    • 2014-06-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-05-05
    相关资源
    最近更新 更多