因此,我在页面上有一个搜索栏(/ Search),当用户搜索某些内容时,它将在输入文本上运行过滤器,并使用过滤后的结果刷新页面。

如果有人搜索了“ monkey”一词,则搜索结果的网址为


  / Search?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", function (getHtml)
$("#resultsDiv").html(getHtml).find("#resultsDiv");


像这样的其他改动,但似乎无济于事。

谢谢!

最佳答案

请尝试以下

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


Demo

关于javascript - .get()和.find()搜索结果,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/41869281/

10-11 13:14