JQuery自动完成文本框
答
<pre>'<input type="text"/><div class=displayPanel></div>'</pre>
$ JQ( '输入')。绑定( '点击',函数(){
$ JQ( 'displayPanel ')。了slideDown(' 慢',函数(){
this.text = textarray;
});
});
我不知道这是你需要的但是。
答
自动完成插件(http://bassistance.de/jquery-plugins/jquery-plugin-autocomplete/)是您最好的选择,尤其是当您处于AJAXy应用程序中时,因为它会关闭您的服务器并实时获取可能的列表。
实例应用:
$("#sometextbox").autocomplete("search.php", {
width: 260,
selectFirst: false
});
然后search.php中可能会返回:
Great Bittern|Botaurus stellaris
Little Bittern|Ixobrychus minutus
American Bittern|Botaurus lentiginosus
可以动态地生成的输出也一样,因为插件通过文字上的查询字符串输入的,在'q'参数。
在回答射击自动完成,而无需输入任何内容,插件不支持,但它会相当简单的hackish的方式实现:
插件钩到的keydown(或按键)的情况下,中,像这样(非缩小的代码的92线):
$input.bind(($.browser.opera ? "keypress" : "keydown") + ".autocomplete",...)
因此,你可能会迫使autocompleter通过执行类似运行:
$("#autocompletedInput").click(function() {
$(this).trigger(($.browser.opera ? "keypress" : "keydown") + ".autocomplete");
}
其中应该开火事件。您可能需要将随机字符键码传递给触发器,所以它不会怀疑发生了什么。
这是否表示您已经自动完成您的打字工作?如果没有,这个问题似乎很奇怪,因为打字是典型的自动完成功能的重要组成部分。 – 2009-05-29 17:05:19
听起来你可能正在寻找一个组合框,你可以从列表中选择或添加一个新的项目?对John来说,自动完成的本质是它*完成了*部分存在的事情。 – 2009-05-29 19:12:05