作为我上一篇文章的后续文章 - How would I trim the input to a JQuery auto-complete box?。我决定提出一个新问题而不是继续编辑那个问题。
我目前有jQuery ui autocomplete 1.8(左右)工作得相当好,除了一件事。如果用户只输入(有效)名称并点击提交,则自动完成查找永远不会运行,因此相关值永远不会被绘制并分配给输入框。当然,这是一个问题。阅读文档,这意味着我可以使用jQuery search()
方法来解决这个问题。但是,我正在努力让它发挥作用。我已尝试将search()
的调用放入文本输入的onblur事件中,并在提交按钮的onclick事件中,但无效 - 每当我点击提交时,我没有输入框的值。代码:
<form action = "<?php echo $this->URL();?>" method="post">
<fieldset>
<ol>
<li>
<label for="Resource">Resource</label>
<input id="Resource" name="Resource" class="text" type="text" value="" onblur="jQuery('#Resource').search();"/>
</li>
</ol>
</fieldset>
<fieldset class="submit">
<input id="Submit" name="Submit" type="Submit" class="Submit" value ="Submit" onclick = "jQuery('#Resource').search();"/>
</fieldset>
</form>
那么,我究竟做错了什么?
答案 0 :(得分:2)
答案 1 :(得分:0)
我已经回答了我自己的问题,并且还发现search()
不像我想象的那样有效。我试过了:
<input id="Submit" name="Submit" type="Submit" class="Submit" value ="Submit" onclick="jQuery('#Resource').autocomplete('search');"/>
发现在表单完成提交前一秒钟,自动完成框闪烁。显然search()
只是让自动完成框执行普通搜索,而不是自动选择任何匹配结果搜索,这正是我所寻找的。 p>