Javascript 用于搜索结果的.get()和.find()
因此,我在页面上有一个搜索栏(/search),当用户搜索某个内容时,它会对输入文本运行一个过滤器,并用过滤结果刷新页面 如果有人搜索“猴子”这个词,搜索结果的URL将是 /搜索?searchBoxText=monkey 我正在努力做到这一点,而不必刷新页面 因此,在main.js中,我有: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
$(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。我不知道在我删除之前您是否看到了我的评论,但该错误与此无关。我只是错过了它。虽然您的方法仍然不起作用,但控制台中没有错误消息。