2012-05-09 3 views
0

私にはJquery Autocompleteがあります。そのうまく動作します。値は、キーボードの矢印キーから上下に移動したり、特定の値にマウスを置くと選択されます。しかし、ボタンを押して選択した値をテキストボックスに入れると、それは機能しません。代わりにキーボードのEnterキーを押すと値がテキストボックスに入力されます。上記のコードmyVar2マウスボタンのオートコンプリートから値が選択されない

私は私の自動補完のための私の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()"> 

オートコンプリートのソースを割り当てられているJson形で私のデータです。オートコンプリートで値は正常になります。 OnFocusイベントはinput tagです。私はhello()関数を呼び出します。なぜ値がmouse button clickで選択されていないのですか?しかし、私はどこからコードを拾ったサイト。 Enterキーを押すだけでなく、マウスクリックで値が選択されます。 siteは::

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

でここだけdiffはソースが静的あり、私はmyVar2からJsonの形でデータベースから取得していますということです。私はIEを使用しています。 dijit.form.ValidationTextBoxを私としてinput

助けてください。おかげで..

編集部::

私は

<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> 

::次のjsファイルをインポートしていると私はGoogle chromeでそれを実行したとき、私は任意の自動完全得ることはありません。私は ::

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

が見つかりません。そして確かにそれはもう有効ではありません。しかし、私のオートコンプリートは素晴らしいです。これが理由だろうか?また、上記のうちからJqueryのインポートを削除する必要があるかどうかは、余分なものがあれば教えてください。混乱したようなもの。

私はここからコードをとっている::

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

おかげで再び。

答えて

0
マークアップから

削除onfocus="hello()"、および修正のjavascript:

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

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

ところで、なぜあなたは純粋な道場ソリューションのためのdijit.form.ComboBoxを使用したくありませんか?

UPDATE

は、GoogleのCDNを使用する場合は、これらの輸入が必要になります。

<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.require( "dijit.form.ValidationTextbox")を行っています。そして、私のコードをdojo.readyに変更しましたが、私にとってうまく動作しないものがありました。他の問題はありますか? –

+0

あなたのマークアップから 'onfocus =" hello() "'を削除しましたか? javascriptコンソールにJSエラーが表示されますか? – ivalkeen

+0

マークアップからonfocus = "hello()"を削除しました。先生、自分のコードを編集しました。これが助けになるならば。編集された部分を参照してください::ありがとう.. –

関連する問題