javascript - 使用 Typeahead.js 和 JSON 键值更新隐藏的输入字段

标签 javascript jquery json typeahead.js

我在页面上有一个工作的 typeahead 元素,它从远程 url 获取数据,该 url 返回一个 JSON 字符串,例如 [{"id":"1","name":"Ben"},{ "id":"2","name":"Josh"}].

我希望用相应的 ID 号更新隐藏字段。我当前的 typeahead 设置如下

$('.typeahead').typeahead({
name: 'typeahead',
remote: {
  url: 'backend/clients.php?query=%QUERY',
  filter: function(data) {
    var resultList = data.map(function(item) {
      return item.name;
    });
    return resultList;
  }
}
});

最佳答案

您可以为自定义事件绑定(bind)处理程序 typeahead:select 当一个建议被选中时触发。将使用 2 个参数调用事件处理程序:jQuery 事件对象和已选择的建议对象。根据所选值更新隐藏字段。

var resultList, d;
$('.typeahead').typeahead({    
    name: 'typeahead',
    remote: {
      url: 'backend/clients.php?query=%QUERY',
      filter: function(data) {
        d = data;
        resultList = data.map(function(item) {
          return item.name;
        });
        return resultList;
      }
    }    
}).on('typeahead:select', function(ev, suggestion) {
     $('#hidden-input').val(suggestion.id);
    // $('#hidden-input').val(d[resultList.indexOf(suggestion)].id);
});

引用:https://github.com/twitter/typeahead.js/blob/master/doc/jquery_typeahead.md#custom-events

关于javascript - 使用 Typeahead.js 和 JSON 键值更新隐藏的输入字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32552948/

相关文章:

javascript - Sencha ExtJS Json 转换

javascript - Electron,在按钮单击时创建主窗口的副本

mysql - mySQL 之后无法从 JSON 获取值

javascript - 使用 $.getJSON 时可以将变量发送到 PHP 代码吗?

php - 尝试找到一个(jquery?)弹出日期/时间选择器并回调到 php

c# - 将 JSON 反序列化为抽象类

javascript - 使用 Grunt 检索 html 主体的内容

javascript - 如何将下一个同级移动到CSS Grid中的下一行?

javascript - 如何从javascript中的选项菜单中进行选择

javascript - 将输入集中在模态显示上