XMLファイルがあり、各要素にはcategoryという子があります。私のHTMLページで、可能なカテゴリ(および「すべて」)をリストするドロップダウンフォームを作成しました。ユーザーがドロップダウンリストからカテゴリを選択すると、そのカテゴリに対応するjavascript変数が割り当てられ、次にjavascript / ajaxを使用してXMLファイルを反復処理し、そのカテゴリの要素のリストを表示します。これはすべて正しく機能しています...しかし、リストを表示すると、ドロップダウンの下に表示されるのではなく、ドロップダウンが完全に消え、表示されるのはリストだけです。ドロップダウンの下にリストを表示して、ユーザーが選択した場合に別のカテゴリを選択できるようにします。ドロップダウンが削除される理由とその修正方法を理解するのを手伝ってください。前もって感謝します!(また、これが本当にばかげた質問である場合はお詫びします...
<html>
<head>
<script>
//This is the basic XML stuff.
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.open("GET","websites.xml",false);
xmlhttp.send();
xmlDoc=xmlhttp.responseXML;
var x=xmlDoc.getElementsByTagName("site");
//This is the part that handles printing the items under the various categories.
function printCat(cat)
{
if(cat=="all")
{
for (i=0;i<x.length;i++)
{
document.write(x[i].getElementsByTagName("name")[0].childNodes[0].nodeValue + "<br/>");
}
}
else
{
for (i=0;i<x.length;i++)
{
if (x[i].getElementsByTagName("category")[0].childNodes[0].nodeValue==cat)
{
document.write(x[i].getElementsByTagName("name")[0].childNodes[0].nodeValue + "<br/>");
}
}
}
}
</script>
</head>
<body>
<form action='../'>
<select onchange='printCat(this.options[this.selectedIndex].value)'>
<option value='all'>All</option>
<option value='search'>Search</option>
<option value='social_media'>Social Media</option>
</select>
</form>
</body>
</html>