2012-06-07 4 views
0

jQuery 자동 완성을 사용하는 입력란이 있습니다. 페이지로드시 값을 받아들이고 자동 완성 목록에서 맨 위 선택 항목을 선택할 수 있도록 페이지에 약간의 기능을 추가하고 싶습니다.페이지로드시 자동 완성 값 선택

var myArray = ["apple - a ripe red fruit" 
, "banana - yellow fruit grown in bunches" 
, "orange - the name says it all"]; 

$("input#textbox").autocomplete({ 
    source: myArray 
}); 

$('#clickme').click(function() { 
    // select the #1 autocomplete option for the given text "apple" 
    // ??? 
});​ 

html로와 : : 예를 경우에 따라서

<input type="text" id="textbox" /> 
<input type="button" id="clickme" value="Set the value" /> 

http://jsfiddle.net/bwhitney/MQpQG/2/

또는 여기에 그냥 코드입니다 : 내가 무슨 뜻인지 보여주기 위해 jsfiddle을 만들었습니다 값이 "apple"인 페이지와 "apple - 익은 붉은 과일"텍스트가로드되어야합니다. 이 경우 전체 사과 "사과 - 익은 붉은 과일"을 보내는 것은 실용적인 선택이 아닙니다.

배열의 각 항목을 반복하고 첫 단어를 파싱하는 루프를 작성할 수는 있지만 jQuery가 이미 올바른 답을 얻을 수 있기 때문에 jQuery가 더 나은 방법이되기를 바라고 있습니다. 명부.

편집 : 명확히하기 위해 단추를 눌러 작동 시키면 페이지가로드 될 때 값을 전달하여 작동하도록 할 수 있습니다. 그래서 내 예제에서는 페이지로드 대신 버튼을 사용합니다.

답변

0

직접 작성하는 것은 그리 노력하지 않으며, 어떻게 보더라도 찾고있는 항목을 찾기 위해 어레이를 반복해야합니다.

var myWord = "apple"; 

$('#clickme').click(function() { 
    for (item in myArray) { 
     if (myArray[item].indexOf(myWord) == 0) 
      $("#textbox").val(myArray[item]); 
    } 
}); 

Demo

관련 문제