文本框中的自动完成 json

Posted

技术标签:

【中文标题】文本框中的自动完成 json【英文标题】:Autocomplete json in textbox 【发布时间】:2012-06-05 07:25:34 【问题描述】:

下面是我的 json 输出:

["0001000","0002000","0001200","00003000","990000","78888","89234","2345","2345"]

如何使用上述 json 数组在文本框字段中实现自动提示?

【问题讨论】:

如果你不想使用 Jquery UI,你可以使用一个 jquery 插件来自动完成。这是reference 【参考方案1】:

如果您使用的是 jQuery UI,jQuery documentation on autocomplete is straightforward。将您的数组设置为source:,它应该会自动运行。

【讨论】:

如果我的结果返回 -->aaData:"0001000","0002000","0001200","00003000","990000","78888","89234","2345"," 2345”],我需要删除“aaData”..在我的动作类中,jsonresponse.put(aaData,data),其中值在“data”中。【参考方案2】:

恕我直言,您真的需要花一些时间在谷歌上搜索并查看文档。

jQuery UI 库已经提供了这个功能。

http://jqueryui.com/demos/autocomplete/

您需要在 html 页面中包含 2 个脚本

1) jQuery 库

2) jQuery UI 库

HTML

<input id="tags">​

Javascript

$(function()
    var availableTags=["0001000","0002000","0001200","00003000","990000","78888","89234","2345","2345"];
    $( "#tags" ).autocomplete(
            source: availableTags
    );

);

工作样本http://jsfiddle.net/j9XBd/3/

【讨论】:

如何设置 Json 的 URL,我的结果返回为 --> aaData:"0001000","0002000","0001200","00003000","990000","78888", "89234","2345","2345"] ,当我硬编码它的值时它工作,但是当我设置 URL 时它不起作用,请你放一个代码以供参考。 @PrashanthReddy:检查此jqueryui.com/demos/autocomplete/#remote。您需要从服务器页面返回正确的 JSON。用户 www.jsonlint.com 验证您的 JSON 格式是否正确。 如何通过数组中的Jsonresponse设置action中的值。谢谢 @PrashanthReddy:恕我直言,当您在 cmets 中提出一个新问题时,得到答案的机会非常低。所以我鼓励您提出一个包含相关细节的新问题。【参考方案3】:

你应该去jQueryUI autocomplete

只需使用:

["0001000","0002000","0001200","00003000","990000","78888","89234","2345","2345"];

没有,如下所示:

var json  = ["0001000","0002000","0001200","00003000","990000","78888","89234","2345","2345"];

$('input:text').autocomplete(json, 

);

或者你可以自动设置来源

$(input:text).autocomplate(
   souce: SOURCE_TO_YOUR_STORE
);

【讨论】:

以上是关于文本框中的自动完成 json的主要内容,如果未能解决你的问题,请参考以下文章

文本框中的自动完成文本

将输入文本框中的文本替换为所选自动完成选项中的文本

处理文本框中的自动完成。不同于按回车

如何从自动完成文本框中单击名称?

如何动态更改 C# 组合框或文本框中的自动完成条目?

如果文本框中没有文本,jQuery 自动完成返回空列表