[州名][市]、[州][国]などのアイテムを含む地理コレクションがあります
ユーザーが入力を開始するためのテキストボックスが利用可能であり、jQueryオートコンプリートボックスが塗りつぶされて可能なオプションが表示されます。
投稿リクエストのURL構造は、上記のコレクションから選択されたものによって異なります。つまり、www.mysite.com / allstates / someterms(国が選択されている場合)www.mysite.com/city-state/someterms(都市の場合) 、状態が選択されています)www.mysite.com/[状態名]/ someterms(状態が選択されている場合)
これらは私のルートですでに定義されています。
最初は、適切なURL構造を決定するためにコントローラーにロジックを追加するつもりでしたが、それをgeoテーブルの追加フィールドとして追加することを考えていたので、geoコレクションのプロパティになります。
テキストボックスでキーを押すと、コレクションの詳細を表示する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を構造化することです(最も単純なようです)。私は「選択された」でのみパラメータを読み取ることができ、ボタンのクリックでは読み取れないようです。
どうすればこれを達成できますか?
ありがとう。