Javascript 如何根据搜索过滤xml数据?

Javascript 如何根据搜索过滤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:“

在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:“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>