Typeahead.js传递动态附加参数

Dr.*_*che 5 javascript jquery typeahead.js

假设我有一个使用typeahead.js的多个字段的表单,对于某些文件我希望从先前填充的表单字段中传递值作为查询的一部分.例如

<input id="First_Name" type="text">
<input id="Last_Name" type="text">
Run Code Online (Sandbox Code Playgroud)

JavaScript的:

$('#Last_Name').typeahead({
  name: 'typeahead',
  remote: 'Search.pl?query=%QUERY'.
  template:[
 ......
  ].join(''),
  engine: Hogan
});
Run Code Online (Sandbox Code Playgroud)

由于我有多个输入框,有些应该传递其他输入框的ID和值作为远程查询的一部分,我想知道是否有一种通用的方法只有在字段包含值时才将ID和值附加到此字符串.

提前致谢

Nit*_*ked 8

你可以做到这一点.replace在设置之前使用a 处理查询字符串.

就像是:

$('#Last_Name').typeahead({
  name: 'typeahead',
  remote: {
    url: 'Search.pl?query=%QUERY',
    replace: function(url, uriEncodedQuery) {
      val = $('#First_Name').val();
      if (!val) return url;
      //correction here
      return url + '&first_name=' + encodeURIComponent(val)
    },
  template: ...,
  engine: Hogan
});
Run Code Online (Sandbox Code Playgroud)