2017-08-06 65 views
-1

我正在爲用戶製作一個表格供用戶選擇車輛的年份,製造商和型號。我正在使用來自mysql的數據填充這些字段。到目前爲止,我可以在沒有問題的情況下填充年份下拉菜單,但是現在我需要爲用戶選擇的年份製作一個變量,並將其用於我的下一個查詢以恢復製作。我發現了這樣做的不同方法,但沒有一個方法是從數據庫填充數據。我正在嘗試在javascript中創建一個函數,並在用戶更改下拉字段時調用它,但由於某種原因它不起作用。在由mysql填充的下拉菜單中獲取選定的值

<script language="javascript" type="text/javasccript"> 

     function run() { 
      document.getElementById("userYear").innerHTML = 
      document.getElementById("year").value; 
     } 

</script> 



<select id ="year" onChange="run()"> 
<option value ='Year'>Year</option> 

<?php while($row = mysqli_fetch_assoc($response)) { 
     echo "<option value='".$row['year']."'>".$row['year']."</option>"; 
} ?> 

</select> 

<p>Your year is: </p><p id="userYear"></p> <!-- just for testing --> 
+0

您需要使用[AJAX](http://api.jquery.com/jquery.ajax/)這一點。 –

+0

主要的問題是,onchange是區分大小寫的Javascript的https://stackoverflow.com/questions/8000694/why-isnt-javascript-changing-a-variable-with-onchange我提交這個答案,但顯然它是微不足道的。 ... – piisexactly3

回答

1

你的代碼看起來幾乎正確的,甚至應該工作,如果遠非完美。這是一個工作的例子。

 //typo javasccript 
 
    //language="javascript" is obsolete 
 
     function run(element) { 
 
      document.getElementById("userYear").innerHTML = element.value; 
 
      // document.getElementById("year").value; 
 
     }
<select id ="year" onchange="run(this)"><!--send element directly to the function --> 
 
<option value ='Year'>Year</option> 
 
<!--suppose php works fine and populates the list--> 
 
<option value="2001">2001</option> 
 
<option value="2002">2002</option> 
 
<option value="2003">2003</option> 
 
<option value="2004">2004</option> 
 
<option value="2005">2005</option> 
 
</select> 
 

 
<p>Your year is: </p><p id="userYear"></p> <!-- just for testing -->

+0

在我的回答中給出的確切的相同的東西有點不同的代碼,我很驚訝爲什麼這不適用於OP?因爲它在這個例子中也有效,我們同時回答@AlivetoDie –

+0

。我認爲問題出在錯字「text/javasccript」上 –

相關問題