2013-09-30 36 views
0

我現在正在用下面的代碼工作,我想顯示rfq列表取決於rfq#。但是當我選擇時,$ q是未定義的。

Dropdown.php

<?php 
    $con = mysql_connect("localhost","root",""); 
    $db = mysql_select_db("app",$con); 
    $get=mysql_query("SELECT rfq FROM procurement GROUP BY rfq ORDER BY rfq"); 
    $option = ''; 
    while($rows = mysql_fetch_assoc($get)) 
    { 
     $option .= '<option value = "'.$rows['rfq'].'">'.$rows['rfq'].'</option>'; 
    }  
    ?> 
    <form> 
     <select name="users" onchange="showUser()"> 
      <option value="ALL">ALL</option> 
      <?php echo $option; ?> 
     </select> 
    </form> 
    <br> 
    <div id="txtHint"><b>Person info will be listed here.</b></div> 

getuser.php 

    <?php 
    include('connect.php'); 
    $q=$_GET["q"]; 
    $sql="SELECT rfq FROM procurement WHERE rfq='".$q."'"; 
    $result = mysql_query($sql); 
    echo "<table border='1'> 
    <tr> 
    <th>MOD</th> 
    <th>RFQ #</th> 
    </tr>"; 
     while($row = mysql_fetch_array($result)) 
     { 
      echo "<tr>"; 
      echo "<td>".$row['mode_of_procurement']."</td>"; 
      echo "<td>".$row['rfq']."</td>"; 
      echo "</tr>"; 
     } 
     echo "</table>"; 
     echo $q; 
     mysql_close(); 
    ?> 

但是$ q的值不顯示,當我回聲$ Q值是不確定的。這是爲什麼?

而這裏的腳本

<script> 
function showUser(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","getuser.php?q="+str,true); 
    xmlhttp.send(); 
} 
</script> 

enter image description here

+0

你傳遞$ _GET從URL [ 'Q']? –

+0

那麼你是否在代碼期望的URL中傳遞'q'? –

+0

jQuery/JavaScript代碼在哪裏? – Peter

回答

0

this.value到您的函數調用

 <select name="users" onchange="showUser(this.value)"> 
     <option value="ALL">ALL</option> 
     <?php echo $option; ?> 
     </select> 

新升級:

我想你想聯繫這個

<html> 
<script type="text/javascript"> 
    function show() { 
     var e = document.getElementById('myOption'); 
     var str = e.options[e.selectedIndex].text; 
     alert(str); 

     if(str=='All') 
     { 
      var x = document.getElementById("myOption"); 
      var txt = ""; 
      var i; 
      for (i = 1; i < x.length; i++) { 
       txt = txt + "," + x.options[i].text; 
      } 

     } 
     else{ 
      txt=str; 
     } 

     alert(txt); 


    } 
</script> 



<body onload="show();"> 
<form name="myForm"> 
<select name="myOption" id="myOption" onChange="show()"> 
<option value="All" >All</option> 
<option value="0">0</option> 
<option value="1">1</option> 
<option value="2">2</option> 
<option value="3">3</option> 
<option value="4">4</option> 
<option value="5">5</option> 
<option value="6">6</option> 
<option value="7">7</option> 
<option value="8">8</option> 
</select> 
</form> 

</body> 
</html> 

小提琴DEMO

+0

它可以工作,還有一件事,當我選擇ALL時,如何選擇所有記錄?我希望它在頁面運行時自動加載。 –

+1

我不明白你的要求。清楚地告訴我 –

+0

就像圖片中那樣,我添加了代碼以便能夠在頁面加載時加載表格,但記錄沒有顯示,THEAD只有那些顯示。我想顯示在