1

如果我能够从下拉菜单中选择一个选项,那么我选择的那个元素是否有可能自动打开另一个下拉菜单,其中包含该特定类别下的项目列表。数据库是 XML 格式的,我使用 PHP 进行编码。

这是一个例子:

<html>
<head>
<script>
function showCD(str)
{
if (str=="")
  {
  document.getElementById("txtHint").innerHTML="";
  return;
  } 
if (window.XMLHttpRequest)
  {// code for IE7+, Firefox, Chrome, Opera, Safari
  xmlhttp=new XMLHttpRequest();
  }
else
  {// code for IE6, IE5
  xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
  }
xmlhttp.onreadystatechange=function()
  {
  if (xmlhttp.readyState==4 && xmlhttp.status==200)
    {
    document.getElementById("txtHint").innerHTML=xmlhttp.responseText;
    }
  }
xmlhttp.open("GET","getcd.php?q="+str,true);
xmlhttp.send();
}
</script>
</head>
<body>

<form>
Select an Artist:
<select name="cds" onchange="showCD(this.value)">
<option value="">Select a CD:</option>
<option value="Bob Dylan">Bob Dylan</option>
<option value="Bonnie Tyler">Bonnie Tyler</option>
<option value="Dolly Parton">Dolly Parton</option>
</select>
</form>
<div id="txtHint"><b>Artist info will be listed here...</b></div>

</body>
</html>

现在,如果我选择说 Bob Dylan,我希望在下一个菜单中显示他的所有 CD 的另一个列表 - 例如 - 代码应该从 XML 数据库自动生成 - 表格应该是这样的:

<form>
Select a song:
<select name="albums" onchange="showCD(this.value)">
<option value="">Select an Album:</option>
<option value="Album #1">Album #1</option>
<option value="Album #2">Album #2</option>
<option value="Album #3">Album #3</option>
</select>
</form>

然后选择专辑后,会弹出另一个表单要求选择歌曲,如下所示:

<form>
Select a song:
<select name="songs" onchange="showCD(this.value)">
<option value="">Select a Song:</option>
<option value="Song #1">Song #1</option>
<option value="Song #2">Song #2</option>
<option value="Song #3">Song #3</option>
</select>
</form>

我想从用户的角度自动执行此操作,因此我从列表中选择了一位艺术家,数据全部在 XML 文件中。然后从该艺术家列表中自动生成包含他所有专辑的另一个下拉菜单,然后从该下拉列表中从该专辑中的所有歌曲生成另一个菜单。然后我让他的歌曲选择和播放。

我正在使用 PHP、JavaScript/Jquery 和 AJAX 和 XML。

4

0 回答 0