Javascript 用于搜索结果的.get()和.find()

Javascript 用于搜索结果的.get()和.find(),javascript,jquery,html,get,Javascript,Jquery,Html,Get,因此,我在页面上有一个搜索栏(/search),当用户搜索某个内容时,它会对输入文本运行一个过滤器,并用过滤结果刷新页面 如果有人搜索“猴子”这个词,搜索结果的URL将是 /搜索?searchBoxText=monkey 我正在努力做到这一点,而不必刷新页面 因此,在main.js中,我有: $(function () { $("#searchBox").keyup(function (e) { var searchBoxText= $("#searchBox").va

因此,我在页面上有一个搜索栏(/search),当用户搜索某个内容时,它会对输入文本运行一个过滤器,并用过滤结果刷新页面

如果有人搜索“猴子”这个词,搜索结果的URL将是

/搜索?searchBoxText=monkey

我正在努力做到这一点,而不必刷新页面

因此,在main.js中,我有:

$(function () { 
    $("#searchBox").keyup(function (e) {
        var searchBoxText= $("#searchBox").val();
        $.get("/Search?searchBoxText=" + searchBoxText, function (getHtml) {
            $("#resultsDiv").html(getHtml);
        });
    });
});
问题是它在
#resultsDiv
中显示整个页面,我希望它只显示
#resultsDiv
。因此,它再次显示标题、搜索栏和按钮

基本上,我希望在旧的
#resultsDiv
中显示新结果(将在
#resultsDiv
中),但我似乎无法约束.get()仅从结果页面获取特定元素

我试着去做

  • $.get(“/Search?searchBoxText=“+searchBoxText+”#resultsDiv”,函数(getHtml)

  • $(“#resultsDiv”).html(getHtml)。查找(“#resultsDiv”);

和其他类似的改动,但似乎没有任何效果

谢谢!

请尝试以下内容

$("#resultsDiv").html($(getHtml).filter("#resultsDiv"));

请尝试以下内容

$("#resultsDiv").html($(getHtml).filter("#resultsDiv"));

getHtml
是一个字符串,因此不会有
find()
方法。是的,这不起作用。我相信这是我尝试过的方法之一,但不起作用。我收到控制台错误消息:“未捕获类型错误:getHtml.filter不是函数”@Sadikhasan Oops。我不知道在我删除我的评论之前你是否看到了我的评论,但这个错误与此无关。我只是错过了它。虽然你的方法仍然不起作用,但控制台中没有错误消息。
getHtml
是一个字符串,因此不会有
find()
method是的,这不起作用。我相信这是我尝试过的方法之一,但行不通。我收到控制台错误消息:“Uncaught TypeError:getHtml.filter不是函数”@Sadikhasan Oops。我不知道在我删除之前您是否看到了我的评论,但该错误与此无关。我只是错过了它。虽然您的方法仍然不起作用,但控制台中没有错误消息。