난 당신이 자동 완성 JqueryUI를 사용하는 가정합니다. JqueryUI의 Autocomplete는 기본적으로 w/json 객체를 처리합니다. 특히 "label"및 "value"속성을 갖는 객체 리터럴 배열입니다.
{ label:x, value:y }
자동 완성은 자동 완성 일치를 계산하고, 사용자가 선택하면, 선택한 항목으로 "값"속성을 사용합니다 "라벨"속성을 사용합니다. 또한 "value"속성을 생략하면 "label"이 비교 및 선택 모두에 사용됩니다.
주목할 중요한 점은 이러한 속성에 국한되지 않는다는 것입니다. 예를 들어 ..say .. "location_id"와 같은 추가 속성을 추가 할 수 있습니다. 자동 완성 이벤트 "를 선택"을 사용
{ label: "Some State and Country", location_id: 2 }
, 당신은 어떤 행동, 즉 형태로 게시하거나 심지어 일류의 아약스 호출을 발사 할 숨겨진 입력 선택된 location_id를 저장할 수 있습니다. 사용해보기 :
...
<form>
Locations: <input id="location" />
<input type="hidden" id="location_id" />
<input type="submit">
</form>
...
<script>
var mylocations = [
{
label: "North Carolina, USA",
id: 123
},
{
label: "North Dakota, USA",
id: 128
},
{
label: "Nevada, USA",
id: 125
},
{
label: "New York, USA",
id: 311
},
{
label: "New Brunswick, Canada",
id: 267
},
{
label: "Nova Scotia, Canada",
id: 235
},
{
label: "Newfoundlandand , Canada",
id: 223
}];
$("#location").autocomplete({
source: mylocations,
select: function(event, ui) {
// store your location id somewhere like a hidden input ..you
// can then allow the user to post the form (and selected id) back.
$("#location_id").val(ui.item.id);
return false;
}
});
</script>