2012-02-20 2 views
0

자동 완료됩니다. 나는 내 코드 이 방법에 의해 자동 완성의 값을 저장하기위한 숨겨진 값을 넣어 :Jquery 자동 완성 값이

$("#cityOp").autocomplete({ 
     source : function(request, response) {  

     var city_value = jQuery("#cityOp").val(); 


     $.ajax({ 
      url: "city.html", 

      dataType: "json", 
      data : { 
       filter : city_value 
      },   


      success : function(data) { 

       response(jQuery.map(data.cities,function(item) { 
            return { 
             value : item.locationName, 
             key : item.locationId 

            }; 
           })); 
       }, 
select : function(event, ui) { 

     $("#theHidden").val(ui.item.key) ; 
    } 

    }); 

가 나는 위치의 값을 저장하기 위해이 위치 이드 싶어, 그래서 는 같은 시도 :

save(){ 
var locationValue=$("#theHidden").val(); 
//other saving codes 
} 

하지만 여기서는 locationValue가 정의되지 않았습니다.

저장 기능에서이 숨겨진 값을 어떻게 얻을 수 있습니까? 준비 완료 및 저장 기능에 대한 문서에 자동 완성 기능이 있습니다.

+1

select : function(event, ui) { setLocationValue(ui.item.key); } 

를 해결? 경보를 울리십시오 (ui.item.locationId); 선택 기능. 내가 선택한 값을 별도의 컨트롤에 넣지 않고 autocomplete : $ (this) .data ("value", ui.item.locationId); – elrado

+0

'save()'함수가 제대로 정의되어 있습니까? 'function' 키워드로? 가치가오고 ** 제대로 설정되고 있습니까 **? 처음에 정의되지 않은 상태로 설정 되었습니까? 브라우저 디버거에서 체크인 할 수 있습니다. – gideon

+0

@elrado 선택 기능에 실수가있었습니다. $ ("# theHidden")을 변경했습니다. val (ui.item.locationId); into $ ("# theHidden") .val (ui.item.key); 경고를 경고로 두십시오 (ui.item.key); –

답변

1

이것이 JS

var locationValue; 

function setLocationValue(value){ 
    locationValue=value; 
} 
0

$ ajax 메소드의 응답에서 값과 키의 두 가지 속성 만 사용하여 데이터를 JSON 객체에 매핑합니다.

그런 다음 select에서 더 이상 존재하지 않는 속성을 사용하고 있습니다.

원래 값을 계속 유지하려면 해당 값도 매핑해야합니다. 또는 다음과 같이 ID를 숨김 필드에 저장할 수 있습니다.

$("#theHidden").val(ui.item.key); 

그것이 작동하지 않는지 알려주세요. 선택 기능 소성

+0

내 질문은 숨겨진 값을 얻는 방법을 저장하는 기능입니까? 나는 var locationValue = $ ("# theHidden")을 넣는다 .val (ui.item.key); 그 다음 "ui가 정의되지 않았습니다"라는 메시지가 나타납니다. –

+0

pls 나를 도와주세요. 어떤 해결책? –