Вот такой код, поиск и выбор города, везде работал, а на новом сайте, при его установке, все всплывающие окна перестают работать, в консоли идет ошибка на строку jQuery.widget("custom.catcomplete", jQuery.ui.autocomplete, {
не могу разобраться в чем дело
jQuery(document).ready(function() {
var cities_data = [
{ category: "Московская область" },
{ label: "Москва", ref: "#" },
];
cities_data = add_category(cities_data);
jQuery(".city-form").submit(function(e) { e.preventDefault(); return false; });
jQuery.widget("custom.catcomplete", jQuery.ui.autocomplete, {
_create: function() {
this._super();
this.widget().menu("option", "items", "> :not(.ui-autocomplete-category)");
},
_renderMenu: function(ul, items) {
var that = this,
currentCategory = "";
jQuery.each(items, function(index, item) {
var li;
if (item.category != currentCategory) {
ul.append("<li class='ui-autocomplete-category'>" + item.category + "</li>");
currentCategory = item.category;
}
li = that._renderItemData(ul, item);
if (item.category) {
li.attr("aria-label", item.category + " : " + item.label);
}
});
}
});
jQuery(".city-input").catcomplete({
minLength: 0,
delay: 0,
source: function(request, response) {
var matcher = new RegExp("^" + jQuery.ui.autocomplete.escapeRegex(request.term), "i");
response(
jQuery.grep(cities_data, function(item) {
return matcher.test(item.label);
})
)
},
select: function(event, ui) {
window.location.href = ui.item.ref;
}
}).focus(function() {
jQuery(this).catcomplete("search", "");
});
function add_category(data) {
var currentCategory = "";
var result = [];
jQuery.each(data, function(key, value) {
if (typeof value.category === "undefined") {
result.push({ label: value.label, ref: value.ref, category: currentCategory });
} else {
currentCategory = value.category;
}
});
return result;
}
});