Я использую typeahead
автоматическое предложение для своего приложения, но проблема в том, что функция ajax существует в функции bookingAjaxFunc
, а код bookingAjaxFunc
function bookingAjaxFunc(url, bookingId, jsonCall) {
switch(jsonCall) {
case 'Add':
values = $('.booking-form').serializeArray();
break;
case 'autoSuggestion':
values = {bookingId: bookingId, jsonCall: jsonCall};
break;
}
$.ajax({
url: url,
type: 'POST',
dataType: 'json',
data: values,
cache: false,
success: function(data) {
switch(jsonCall) {
case 'Add':
console.log(data);
break;
case 'autoSuggestion':
console.log(data);
break
}
}
});
}
это моя функция ajax, которая отлично работает при вставке, обновлении, удалении и других случаях, но теперь я хочу вызвать эту функцию в typeahead
, как я могу это сделать? и моя функция typeahead
отлично работает с предопределенными значениями, но теперь я хочу вызвать свою bookingAjaxFunc
. Я не мог понять, где вызывать мою функцию, и помните, что эта функция скопирована из примера, и я вставляю ее здесь как есть.
function substringMatcher(strs) {
return function findMatches(q, cb) {
var matches, substrRegex;
// an array that will be populated with substring matches
matches = [];
// regex used to determine if a string contains the substring `q`
substrRegex = new RegExp(q, 'i');
// iterate through the pool of strings and for any string that
// contains the substring `q`, add it to the `matches` array
$.each(strs, function (i, str) {
if (substrRegex.test(str)) {
// the typeahead jQuery plugin expects suggestions to a
// JavaScript object, refer to typeahead docs for more info
matches.push({ value: str });
}
});
cb(matches);
};
}
var states = ['Alabama', 'Alaska'];
$('.autoSuggestion').typeahead({
hint: true,
highlight: true,
minLength: 1
},
{
name: 'states',
displayKey: 'value',
source: substringMatcher(states)
});
Функция bookingAjaxFunc
, которая создается для моего вызова ajax, поэтому я использую этот код для передачи значений в свою функцию и использую свой случай
var url = $("#do").val();
bookingAjaxFunc(url, '', 'autoSuggestion');
Я также пытаюсь добавить remote
ниже source
, но это не сработало.
Спасибо