2014-10-17 250 views
0

我有一個sql查詢,我使用php作爲表格回顯。使用javascript過濾表格

$query="SELECT Name, 
      Location, 
      ID, 
      Price 

     From ProdTable 
     where ID>=2300;" 

$results = mysql_query($query); 

while ($row = mysql_fetch_array($results)) { 
    echo '<tr>'; 

    foreach($row as $field) { 
     echo '<td>' . htmlspecialchars($field) . '</td>'; 
    } 

    echo '</tr>'; 
} 

我想現在要做的是能夠使用複選框(顯示在默認情況下所有位置,然後允許用戶爲他/她喜歡它們進行過濾)來過濾表,就像這樣:

<input type="checkbox" name="location" value="newyork">New York 
<input type="checkbox" name="location" value="chicago">Chicago 
<input type="checkbox" name="location" value="orlando">Orlando 
<input type="checkbox" name="location" value="losangeles">Los Angeles 

但我想通過JavaScript來做到這一點,所以它更具動態性,用戶不需要按提交就可以進行過濾。我知道已經有用於過濾的javascript工具包,但我想自己編寫一些JavaScript函數。

任何指導非常感謝。

+4

「_...但我想自己寫幾個javascript函數。」。你還在等什麼?你沒有寫任何東西! – undefined 2014-10-17 04:42:43

回答

2

對於ajax網格,您可以使用phpGridjqGrid。它很容易使用。

0

您可以採取以下基本方法
匹配與用戶輸入的值的複選框值,並將其(或父TR)顯示沒有使用相應的JavaScript /錶行。

0

,如果你想自己寫的功能,here是使用jQuery的功能相關的例子,可以幫助:

$('#val1').change(function(){ 
    if (this.checked){ 
     $('table tr').each(function(){ 
      var td = $(this).find('td') 
      if(td.html() == 'value1') 
       td.show(); 
     }) 
    }else{ 
     $('table tr').each(function(){ 
      var td = $(this).find('td') 
      if(td.html() == 'value1') 
       td.hide(); 
     }) 
    } 
}) 

注:這哪裏是好辦法,只是品嚐它需要顯示它怎麼能解決了。