2017-08-06 66 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”上 –

相关问题