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 taghello()mouse button clicksite

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

这里唯一的区别是 Source 是静态的,我以Jsonthru的形式从数据库中获取它myVar2。我正在使用 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我没有得到任何自动完成。我确实得到了一个error::

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

没有找到。确实它不再有效。但是当我在 IE 上运行它时,我的自动完成效果很好。这可能是原因吗?你也可以告诉我从上面导入的哪些 Jquery 导入,如果其中任何一个是额外的,我应该删除它们。有点困惑。

我从这里获取了代码::

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

再次感谢。

4

1 回答 1

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纯 dojo 解决方案?

更新

如果你想使用 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>
于 2012-05-10T16:14:40.323 回答