在ASP.NET中键入时显示搜索结果

时间:2011-09-10 17:09:24

标签: c# asp.net ajax search

我的页面上有一个文本框和文字控件。每当用户在文本框中输入搜索文本时,带有结果的HTML代码将生成在代码后面并添加到文字控件中。

所以,现在我正试图在用户在文本框中输入时显示搜索结果。

谁能告诉我如何实现这一目标?

3 个答案:

答案 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.