2010-07-22 104 views
1

作为我从最后一篇文章 - How would I trim the input to a JQuery auto-complete box?。我决定提出一个新问题,而不是继续编辑那个问题。如何让jQuery自动完成执行搜索()当用户点击提交

我目前有jQuery的ui自动完成1.8(左右)工作相当不错,除了一件事。如果用户只输入(有效)名称并点击提交,则自动完成查找将永远不会运行,因此相关值永远不会被绘制并分配给输入框。这当然是一个问题。阅读文档,这意味着我可以使用jQuery 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

我都回答了​​我自己的问题,也发现search()不像我想象的那样工作。我试过了:

<input id="Submit" name="Submit" type="Submit" class="Submit" value ="Submit" onclick="jQuery('#Resource').autocomplete('search');"/> 

而且发现表单完成提交前一秒,自动完成框闪烁。很明显,search()只是让自动完成框做一个正常的搜索,而不是自动选择任何匹配结果搜索,这正是我正在寻找的。