У меня есть геособрание, содержащее такие элементы, как: [имя штата] [город], [штат] [страна]
Пользователь может ввести текстовое поле для ввода текста и поле автозаполнения jQuery.Заполнение отображает возможные варианты.
Структура URL-адреса запроса на публикацию будет зависеть от того, какой вариант был выбран из вышеупомянутой коллекции, например www.mysite.com/allstates/someterms (если выбрана страна) www.mysite.com / city-штат / someterms (если выбран город, штат) www.mysite.com/[state name] / someterms (если выбран штат)
Они уже определены в моих маршрутах.
Сначала я собирался добавить некоторую логику в контроллер, чтобы определить подходящую структуру URL, но я подумал просто добавить это в качестве дополнительного поля в гео-таблице, чтобы это было свойством геосбора.
Вот моя функция jQuery для отображения сведений о коллекции при нажатии клавиши в текстовом поле:
$(function () {
$("#txtGeoLocation").autocomplete(txtGeoLocation, {
source: function (request, response) {
$.ajax({
url: "/home/FindLocations", type: "POST",
dataType: "json",
selectFirst: true,
autoFill: true,
mustMatch: true,
data: { searchText: request.term, maxResults: 10 },
success: function (data) {
response($.map(data, function (item) {
return { label: item.GeoDisplay, value: item.GeoDisplay, id: item.GeoID }
}))
}
})
},
select: function (event, ui) {
alert(ui.item ? ("You picked '" + ui.item.label + "' with an ID of " + ui.item.id)
: "Nothing selected, input was " + this.value);
document.getElementById("hidLocation").value = ui.item.id;
}
});
});
Я хотел бы иметь структуру URLоснованный на параметре объекта (кажется самым простым).Я могу только читать параметры на "выбранном", а не на нажатие кнопки.
Как мне это сделать?
Спасибо.