1

作为我上一篇文章的后续内容 -我将如何修剪 JQuery 自动完成框的输入?. 我决定提出一个新问题,而不是继续编辑那个问题。

我目前有 jQuery ui 自动完成 1.8(左右)工作得相当好,除了一件事。如果用户只是输入(有效)名称并点击提交,则自动完成查找永远不会运行,因此相关值永远不会被抓取并分配给输入框。这当然是个问题。阅读文档,这意味着我可以使用 jQuerysearch()方法来克服这个问题。但是,我正在努力让它发挥作用。我已经尝试将调用放在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>

那么,我到底做错了什么?

4

2 回答 2

2

您需要在更改事件中添加自动选择任何匹配结果代码。

检查我对您的其他问题的回答: jQuery 自动完成问题 - 如果用户没有特别选择,则不匹配

于 2010-07-23T13:25:41.023 回答
0

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

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

并发现在表单完成提交前一秒钟,自动完成框会闪烁。显然search()只是让自动完成框进行正常搜索,而不是自动选择任何匹配结果搜索,这正是我想要的。

于 2010-07-22T15:29:11.880 回答