因此,我在页面上有一个搜索栏(/ 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/