使用 jquery 在预定义的 html 块中呈现自动完成建议
我有一个预定义的 HTML 代码,
<div id="wrapper">
<div class="element"></div>
<div class="element"></div>
<div class="element"></div>
</div>
还有一个输入框。我有一个远程源,它可以以 jsonp 格式返回结果。我想利用 jquery 的自动完成功能,但我不想将结果显示在新创建的 div 下拉列表中,而是想将它们填充到上面显示的现有 HTML 中。
我尝试了很多搜索,但似乎没有找到一种方法。我对 jquery 相当陌生,所以如果我遗漏了一些太明显的东西,请原谅我。
I have a predefined HTML code say,
<div id="wrapper">
<div class="element"></div>
<div class="element"></div>
<div class="element"></div>
</div>
and I have a input box. I have a remote source which can return me the results in jsonp format. I want to utilize jquery's autocomplete feature, but instead of the results being shown in a dropdown newly created div, I want to populate them in my existing HTML shown above.
I tried searching a lot for it, but I don't seem to find a way to do that. I'm fairly new to jquery, so pardon me if I'm missing something too obvious.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
jQuery UI 自动完成具有内置功能,可以自定义结果的显示。 此演示展示了如何实现覆盖
_renderItem jQuery UI 自动完成代码中的“autocomplete”数据属性的
方法。HTML
JavaScript
CSS& (隐藏普通容器)
您可以通过更改
.data('autocomplete')< 中的
.append()
方法内的标记来自定义每个项目 /code> 函数,如果您想进一步操作搜索结果,您可能需要查看其他自动完成事件,例如示例清除列表,如果
获得焦点。
jQuery UI autocomplete has inbuilt functionality to customize the display of the results. This demo shows how it can be achieved which overrides the
_renderItem
method of the "autocomplete" data attribute inside the jQuery UI autocomplete code.HTML
JavaScript
CSS& (to hide the normal container)
You can customize each item by changing the markup inside the
.append()
method in the.data('autocomplete')
function and you may want to look at the other autocomplete Events if you want to manipulate the<div id="wrapper">
search results further, for example clearing the list if the<input>
acquires focus.当您说远程源时,您是指数据库还是使用 iframe?
如果它是一个数据库,那么您正在从一些后端代码中检索。这是一个ajax请求示例
When you say remote source do you mean a database or are you using an iframe?
If its a database then you are retrieving from some back end code. Here is an example ajax request