我的页面上有一个文本框和文字控件。每当用户在文本框中输入搜索文本时,带有结果的HTML代码将生成在代码后面并添加到文字控件中。
所以,现在我正试图在用户在文本框中输入时显示搜索结果。
谁能告诉我如何实现这一目标?
答案 0 :(得分:2)
你需要看看jQuery UI的autocomplete for remote data sources。
对于像..
这样的文本框<input id="birds" />
您需要做类似的事情。
$( "#birds" ).autocomplete({ source: "search.php" });
剩下的就是根据你的需要调整。
答案 1 :(得分:1)
据我了解,您希望模仿Google的行为。
在这种情况下,每当用户在文本中键入新符号并替换html时,您需要发送ajax请求。但是您需要将Literal
控件更改为某个'div'或Panel
,因为您无法通过Javascript找到Literal
控件。它只是被一个html内容替换
例如:
$('#searchbox').keypress(function() {
$.ajax({
url: "search.html",
data: { q: $('#searchbox').val() },
cache: true,
success: function(html){
$("#results").html(html);
}
});
});
这只是一个样本,可能需要一些更正。但想法就在其中。
处理JSON数据 http://api.jquery.com/jQuery.getJSON/
$.getJSON('ajax/test.json', function(data) {
var items = [];
$.each(data, function(key, val) {
items.push('<li id="' + key + '">' + val + '</li>');
});
$('<ul/>', {
'class': 'my-new-list',
html: items.join('')
}).appendTo('body');
});
答案 2 :(得分:1)
我认为你想要的是JQuery Autocomplete。你可以找到它HERE.