为typeahead.js远程选项的ajax调用添加额外数据

时间:2013-07-24 11:07:12

标签: typeahead.js

我想问一下如何为remote选项的AJAX调用添加额外的参数。我有以下简单的形式来搜索资格(它在Coffeescript中):

$('#search_qualification').typeahead
  name:  'qualification'
  limit: 50
  remote:
    url: "/search/qualification?term=%QUERY"

我想通过AJAX调用发送另一个param,即state,通常使用jQuery AJAX调用,我会这样做:

$.ajax
  url: "/search/qualification"
  dataType: "json"
  data:
    term: request.term
    state: $("#state").val()

我完全无法适应typeahead.js,有人可以帮帮我吗?非常感谢

1 个答案:

答案 0 :(得分:17)

使用replace选项:

$('#search_qualification').typeahead({
  name:  'qualification'
  limit: 50
  remote: {
    url: '/search/qualification?term=%QUERY&state=%STATE'
    replace: function(url, query) {
      var state = encodeURIComponent($('#state').val());

      return url.replace('%QUERY', query).replace('%STATE', state);
    }
  }
});