typeahead ajax url dynamic

时间:2017-01-27 15:24:45

标签: jquery ajax typeahead

这是我的代码

$('#txt_street').typeahead({
  autoSelect:false,
  ajax: {
      url: "/index.php/MyCities/get_myCities/",
      timeout: 500,
      async : false,
      displayField: "city_name",
      valueField: 'city_id',
      triggerLength: 1,
      method: "get",
      loadingClass: "loading-circle",
      preDispatch: function (query) {
          return {
              search: query
          }

      },
       preProcess: function (data) {
        return data;
      }
  },
   onSelect: function (citySelect) {
   } //on select end
}); //city typeahead ends

我有两个问题:

  1. 如何在GET中传递多个变量?在这里,我只能通过"搜索"作为变量。我需要传递另一个变量。
  2. 我的ajax网址需要是动态的,而不是我在这里添加的静态。

1 个答案:

答案 0 :(得分:3)

您可以在preDispatch中添加其他参数并在致电typeahead()之前创建 ajax 网址

获取更多信息:

myUrl = "http://yoursite.com/" + yourdata;  //Here your custom url

$('#txt_street').typeahead({
  autoSelect:false,
  ajax: {
      url: myUrl ,  // Your custom url
      timeout: 500,
      async : false,
      displayField: "city_name",
      valueField: 'city_id',
      triggerLength: 1,
      method: "get",
      loadingClass: "loading-circle",
      preDispatch: function (query) {
          return {
              search: query,
              otherParam: 123 //Other parameter get you want
          }

      },
       preProcess: function (data) {
        return data;
      }
  },
   onSelect: function (citySelect) {
   } //on select end
}); //city typeahead ends

在此处查看更多内容:https://github.com/pwarelis/Ajax-Typeahead