Muszę grupować wyniki autouzupełniania i znalazłem następujące solution. Jak mogę określić kategorię wybranej sugestii?Jak znaleźć kategorię wybranego elementu w autouzupełnianiu?
Na przykład powiedzmy, że są kategorie Miasto i Kraj i użytkownik wybiera jedno z miast. Skąd mam wiedzieć, że wybrany przedmiot jest częścią miasta, a nie kategorii kraju (kiedy formularz zostanie przesłany)? Nie chcę również, aby nazwy kategorii były widoczne dla użytkowników.
Co znalazłem dotąd
$.widget("custom.catcomplete", $.ui.autocomplete, {
_renderMenu: function(ul, items) {
var self = this,
currentCategory = "";
$.each(items, function(index, item) {
if (item.category != currentCategory) {
ul.append("<li class='ui-autocomplete-category'>" + item.category + "</li>");
currentCategory = item.category;
}
self._renderItem(ul, item);
});
}
});
mój kod
$(function() {
$("#box1").autocomplete({
source: function(e, r) {
var t, s = "http://localhost:8080/MyProject/autoComplete/box1";
$.ajax({
url: s,
dataType: "json",
data: {
q: e.term
},
success: function(e) {
r(e)
}
})
},
select: function(event, ui) {
if (ui.item) {
alert("box one is seleted");
}
},
}), $("#box2").autocomplete({
source: function(e, r) {
$.ajax({
url: "http://localhost:8080/MyProject/autoComplete/box2",
dataType: "json",
data: {
q: e.term
},
success: function(e) {
r(e)
}
})
},
select: function(event, ui) {
if (ui.item) {
alert("box two is selected");
}
},
})
Aktualizacja
Znalazłem też to code ale nie mogliśmy zorientować się kategorię.
mógłbyś tłumaczyć dlaczego trzeba kategorię? – natedavisolds
@ natedavisolds, jak wspomniano w pytaniu, chciałbym rozróżnić wartości autouzupełniania według kategorii, ponieważ niektóre z nich to nazwy miast, a pozostałe to kraje. – Jack
@Jack i co jest nie tak z odpowiedzią, którą masz poniżej? Nie podałeś żadnej opinii, wygląda na to, że odpowiedź zawiera kategorię, której szukasz po zaakceptowaniu. – Trevor