2012-05-09 2 views
0

나는 Jquery Autocomplete입니다. 잘 작동합니다. 값은 키보드 화살표 키에서 위 또는 아래로 움직이거나 특정 값으로 마우스를 움직일 때 선택됩니다. 그러나 내가 선택한 값을 텍스트 상자 안에 넣기 위해 버튼을 누르면 작동하지 않습니다. 대신 키보드에서 엔터를 누르면 값이 텍스트 상자에 입력됩니다.마우스 버튼의 자동 완성에서 값을 선택하지 않음

나 자동 완성 나에게 내 code를 들어 보겠습니다 :

$(document).ready(function hello(){ 
var myVar2 = <%=request.getAttribute("variable1")%> 
     $("input#assignedtoid").autocomplete({ 
    source: myVar2 
}); 
}); 

<input dojoType="dijit.form.ValidationTextBox" id="assignedtoid" name="assignedtoname" required="true" onfocus="hello()" value=<%=session.getAttribute("Username")%> onblur="valassignedtoid()"> 

을 위의 코드 myVar2에서하는 자동 완성에 대한 소스를 할당 Json 형태로 내 데이터입니다. 자동 완성에서는 값이 정상적으로 나타납니다. OnFocus 이벤트는 input tag입니다. 나는 hello() 함수를 호출합니다. 왜 그 값은 mouse button click에서 선택되지 않습니다. 그러나 내가 코드를 집어 올린 사이트. Enter 키를 누를 때뿐만 아니라 마우스 클릭시 값이 선택됩니다. site는 :: 유일한 DIFF는 소스 내가 myVar2 통해 Json의 형태로 데이터베이스에서 무엇입니까 정적 있다는 것입니다 여기에

http://jqueryui.com/demos/autocomplete/ 

입니다. IE를 사용하고 있습니다. dijit.form.ValidationTextBox을 내 input

도와주세요. 덕분에 ..

편집 된 부분 ::

난 다음 JS 파일 :

<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script> 
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.js"></script> 
<script type="text/javascript" src="http://dev.jquery.com/view/trunk/plugins/autocomplete/jquery.autocomplete.js"></script> 
<link href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8/themes/base/jquery-ui.css" rel="stylesheet" type="text/css"/> 
<script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8/jquery-ui.min.js"></script> 

를 가져온 그리고 내가 Google chrome에서 실행할 때 나는 어떤 자동 완성하지 않습니다. 나는 을 얻는다 :

<script type="text/javascript" src="http://dev.jquery.com/view/trunk/plugins/autocomplete/jquery.autocomplete.js"></script> 

찾을 수 없음 그리고 실제로 그것은 더 이상 유효하지 않습니다. 하지만 내 자동 완성 IE에서 그것을 실행하면 잘 작동합니다. 이유가 될 수 있습니까? 또한 위의 Jquery imports 중 어떤 것이 여분인지 알 수 있습니다. 종류 혼란.

내가 여기에서 코드를 촬영 한 ::

http://jqueryui.com/demos/autocomplete/ 

감사를 다시.

답변

0
마크 업에서

제거 onfocus="hello()" 및 수정 자바 스크립트 :

dojo.require("dijit.form.ValidationTextBox"); 

dojo.ready(function() { 
    var myVar2 = <%=request.getAttribute("variable1")%>; 
    $("input#assignedtoid").autocomplete({ 
    source: myVar2 
    }); 
}); 

BTW, 왜 순수 도장 솔루션 dijit.form.ComboBox을 사용하지 않으려는? 당신이 구글의 CDN을 사용하려면

UPDATE는

, 이러한 수입이 필요 : 이미 ("dijit.form.ValidationTextbox")을 dojo.require 끝났습니다

<link rel="stylesheet" href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.19/themes/base/jquery-ui.css" type="text/css" media="all" /> 
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js" type="text/javascript"></script> 
<script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.19/jquery-ui.min.js" type="text/javascript"></script> 
+0

선생님; 그리고 나중에 dojo.ready로 코드를 변경했지만 나에게 잘 작동하지 않는 것들. 다른 문제가있을 수 있습니까? –

+0

마크 업에서'onfocus = "hello()"'를 제거 했습니까? 자바 스크립트 콘솔에 JS 오류가 있습니까? – ivalkeen

+0

내 마크 업에서 onfocus = "hello()"를 삭제했습니다. 선생님, 제 코드를 수정했습니다. 이것이 도움이 될 수 있다면.편집 된 부분보기 :: 감사. –

관련 문제