Javascript 如何根据搜索过滤xml数据?
在search.HTML搜索中搜索术语HTMLJavascript 如何根据搜索过滤xml数据?,javascript,jquery,html,xml,Javascript,Jquery,Html,Xml,在search.HTML搜索中搜索术语HTML . HTML a tag, http://www.w3schools.com/tags/tag_a.asp . HTML br tag, http://www.w3schools.com/tags/tag_br.asp $(文档).ready(函数(){ $(“#dvContent”)。追加(“”); var searchValue=$('#searchBox').val();//这里是搜索文本 $.ajax({ 键入:“获取”, url:“
. HTML a tag, http://www.w3schools.com/tags/tag_a.asp
. HTML br tag, http://www.w3schools.com/tags/tag_br.asp
$(文档).ready(函数(){
$(“#dvContent”)。追加(“”);
var searchValue=$('#searchBox').val();//这里是搜索文本
$.ajax({
键入:“获取”,
url:“http://localhost/category/link.xml",
数据类型:“xml”,
成功:函数(xml){
$(xml).find('link').each(函数(){
var stitle=$(this.find('title').text();
var surl=$(this.find('url').text();
if(searchValue==stitle){//仅在搜索文本与标题匹配时追加这些内容
$(“”)html(stitle+”,“+surl).appendTo(“#dvContent div”);
}
});
},
错误:函数(){
警报(“处理XML文件时出错。”);
}
});
});
我看不出您从results.html页面的搜索表单输入中获取的值在哪里。如果要筛选结果,则需要此值并使用它从源xml中筛选。但我无法获取searchValue。它是未定义的。完全没有错误。因此,我尝试发出警报并检查searchValue中存储的值,然后返回警报undefined@Stephen罗德里格斯,意思是有
@Stephen Rodriguez中没有任何内容在输入字段中写入HTML标记
,然后搜索我使用两个不同的htmls..在其中一个中,我输入搜索,提交后,我被重新分配到结果页面,在那里我将显示搜索结果。。。
<!DOCTYPE html>
<html>
<head>
<link
href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8/themes/base/jquery-ui.css" rel="stylesheet" type="text/css"/>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.min.js"></script>
<script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8/jquery-ui.js"></script>
<script>
$(document).ready(function () {
var myArr = [];
$.ajax({
type: "GET",
url: "http://localhost/category/links.xml",
dataType: "xml",
success: parseXml,
complete: setupAC,
failure: function (data) {
alert("XML File could not be found");
}
});
function parseXml(xml) {
//find every query value
$(xml).find("link").each(function () {
myArr.push($(this).find('title').text());
});
}
function setupAC() {
$("input#searchBox").autocomplete({
source: myArr,
minLength: 3,
select: function (event, ui) {
$("input#searchBox").val(ui.item.value);
$("#searchForm").submit();
}
});
}
});
</script>
</head>
<body style="font-size: 62.5%;">
<form name="search_form" id="searchForm" method="GET" action="http://localhost/search_result1.html">
<label for="searchBox">Keyword Search</label>
<input type="text" id="searchBox" name="searchString" />
<button name="searchKeyword" id="searchKeyword">Sumbit</button>
</form>
</body>
</html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<script src="1.7.2.jquery.min.js" type="text/javascript"></script>
<script type="text/javascript" language="javascript">
$(document).ready(function () {
$("#dvContent").append("<div></div>");
$.ajax({
type: "GET",
url: "http://localhost/category/link.xml",
dataType: "xml",
success: function (xml) {
$(xml).find('link').each(function () {
var stitle = $(this).find('title').text();
var surl = $(this).find('url').text();
$("<li></li>").html(stitle + ", " + surl).appendTo("#dvContent div");
});
},
error: function () {
alert("An error occurred while processing XML file.");
}
});
});
</script>
</head>
<body>
<form id="form1" runat="server">
<div id="dvContent">
</div>
</form>
</body>
</html>
. HTML a tag, http://www.w3schools.com/tags/tag_a.asp
. HTML br tag, http://www.w3schools.com/tags/tag_br.asp
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<script src="1.7.2.jquery.min.js" type="text/javascript"></script>
<script type="text/javascript" language="javascript">
$(document).ready(function () {
$("#dvContent").append("<div></div>");
var searchValue = $('#searchBox').val(); // Here you get the search text
$.ajax({
type: "GET",
url: "http://localhost/category/link.xml",
dataType: "xml",
success: function (xml) {
$(xml).find('link').each(function () {
var stitle = $(this).find('title').text();
var surl = $(this).find('url').text();
if (searchValue === stitle) { // Only append those if search text matches with title
$("<li></li>").html(stitle + ", " + surl).appendTo("#dvContent div");
}
});
},
error: function () {
alert("An error occurred while processing XML file.");
}
});
});
</script>
</head>
<body>
<form id="form1" runat="server">
<div id="dvContent">
</div>
</form>
</body>
</html>