使用PHP填充多个下拉列表

时间:2013-05-21 06:20:56

标签: php javascript mysql drop-down-menu

我有3个下拉列表,使用PHP和javascript / ajax从sql数据库填充。 第一个列表以填充选项开头,第二个列表根据选择从数据库填充。所有这一切都很好,我回复了PHP的第二个列表。 问题是:我无法获得第二个下拉框来重复另一个“onchange”功能。尝试了许多组合没有运气。第二个javasript函数属于哪里?在HTML或PHP?任何帮助将不胜感激。

带有第一个javascript函数的html

<html>
<head>
<title>Insert Test</title>

<script>
function getdate(str){
    if (str==""){
        document.getElementById("dateinput").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("dateinput").innerHTML=xmlhttp.responseText;
        }
    }
    xmlhttp.open("GET","test.php?q="+str,true);
    xmlhttp.send();
}
</script>


</head>
<body>
<form id="book" name="book" action="unfinished.php" method="post">
  <p align="center"> 
    <select name="cityinput" id="cityinput" onchange="getdate(this.value)">
      <option value="0" selected>City</option>
      <option value="1">Brisbane</option>
      <option value="2">Sydney</option>
      <option value="3">Melbourne</option>
      <option value="4">Adelaide</option>
      <option value="5">Perth</option>
    </select>
  </p> 
    <div id="dateinput"></div>
  <p align="center"> 
    <input type="submit">
</form></p>
</body>
</html>

php文件

<?php
require'connect.php';
date_default_timezone_set('Australia/Sydney');

$q=$_GET["q"];
$sql="SELECT date AS date FROM schedule WHERE lounge = '".$q."' AND date >= NOW() AND date <= NOW() + INTERVAL 14 DAY
ORDER BY date asc"; 

$result=mysql_query($sql);
$num=mysql_numrows($result);
$i=0;
echo"<center><select name='dateinput' id='dateinput'></center>";

while ($i < $num) {
    $datum=mysql_result($result,$i,"date");
    $day = date('l jS M', strtotime($datum));
    echo "<option value=$datum>$day</option>";
    $i++;
}

if (!mysql_query($query)){
    die('Error: ' . mysql_error());
}
mysql_close();
?> 

1 个答案:

答案 0 :(得分:0)

第二个Javascript函数也属于html文件。并从PHP文件中附加事件(您要在其上调用第二个函数)。

<select name="dateinput" id="dateinput" onchange="......."></select>