2009-10-14 8 views
1

내 시나리오에서이 플러그인 작업을하려고합니다.jquery 자동 완성 질문

[ "50986.1 ST SAVINGS BANK" "70625.1-800 GOT 정크 상업 서비스 (USA) LLC" "42755.103RD ST SAND LLC는"]

: 내 데이터의 형식은 다음과 첫 번째 부분은 회사의 ID이며 데이터가 선택되면 해당 값을 저장해야합니다.

내 코드 :

<script type="text/javascript"> 
$().ready(function() { 
$("#suggest1").focus(function(){ 
      $("#suggest1").autocomplete(cities, 
       { 
     formatResult: function(data) { 
     return data.split(".")[1]; 
     } 
}); 
}); 

}); 
</script> 

<form autocomplete="off"> 
    <p> 
     <label>Single City (local):</label> 
     <input type="text" id="suggest1" /> 
     <input type="hidden" id="suggest1ID"/> 
     <input type="button" value="Get Value" /> 
    </p> 
</form> 

방화범은 "data.split는"함수 아니라고 말하고있다. 결과는 다음과 같이 서식을 지정합니다. a) # suggest1에 대한 텍스트 얻기 b) id를 가져 와서 suggest1ID에 저장합니다. like : $ ("# suggest1ID") .val (data.split (".") [0])?

아, 한 가지 더 : 두 번째 포커스()에서 텍스트 상자의 첫 번째 선택을 정리하는 방법이 있습니까?

미리 감사드립니다.

답변

0

데이터가 이미 서버에 공급되지 않는 배열에 있습니다. 따라서 분리 된 일을 할 필요가 없습니다.

+0

음, 다음은 옵션으로 50986.1 ST 저축 은행 70625.1-800 JUNK 상업 서비스 (USA) LLC 42755.103RD ST 모래 LLC에게 GOT 를 표시합니다. 디스플레이에서 ID를 제거해야합니다. – CFNinja

0

자동 완성 기능에 익숙하지 않지만 표시 이름만으로 배열을 원한다면이 기능을 사용할 수 있습니다. 희망이 도움이됩니다.

formatResult: function(data) { 
    var i, 
     l = data.length, 
     displayNames; 

    for (i = 0, i < l; (i += 1) { 
     displayNames.push(data[i].split('.')[1]); 
    }; 

    return displayNames; 
} 

데이터가 실제로 작동하는지 확인하고 작동하지 않으면 배열이 문자열이 아닙니다.

..fredrik

0

건물의 프레드릭의 예에, 나는 당신이 "문자열을"적용하려고이 당신은 당신의 data.split()를 참조

function t(data) { 
    var i; 
    var l = data.length; 
    var displayNames=[]; 

    for (i = 0; i < l; i++) { 
     displayNames.push(data[i].split('.')[1]); 
    }; 

    return displayNames.join(" "); 
} 

자동 완성을 위해 일 것이라고 생각 당신이 배열의 각 요소를 찾아야하고 개별적으로 분할 한 다음 다시 그들과 합류하고 그것을 지우는 기능

희망에 반환 에 "배열"에 기능 ...

0

나는이 페이지를 참조하여 결국 : http://docs.jquery.com/Plugins/Autocomplete

만든이 형식의 데이터 변수 : [{텍스트 : '1 ST 저축 은행'ID : '50986'}, {텍스트 : '1 800 GOT JUNK COMMERCIAL SERVICES (USA) LLC ', id :'70625 '}];

및 사용은 :

$("#sVendor").focus(function(){ 
$("#sVendor").autocomplete(vendors, {formatItem: function(item) { 
       return item.text; 
      } 
     }).result(function(event,item) { 
      //alert(item.id); 
      $("#sVendorID").val(item.id); 
     }); 
}); 

나는 VendorID 값을 통해 포착되고 있는지 공급 업체를 추적했다. 감사합니다