我在我的網站上有一個表單,用戶可以使用該表單按選定的列排序數據表。本質上,它是與此類似:通過點擊表標題進行排序
<form action="" method="post">
<select name="orderby">
<option value="col_1">Column 1</option>
<option value="col_2">Column 2</option>
<option value="col_3">Column 3</option>
</select>
<input type="submit" value="Order By"/>
</form>
它運作良好,但我想更新這是如何通過允許用戶在表列標題單擊代替完成。我嘗試這樣做的方式是將onclick事件添加到我的表格標題中,並使用javascript將相同的數組發回頁面。換句話說,當列2被點擊時,Array([orderby] => col_2)將保持完全相同。這將保留我所有的其他代碼。下面是我對錶頭進行了更改:
<table>
<tr>
<th onclick="post('col_1')">Column 1</th>
<th onclick="post('col_2')">Column 2</th>
<th onclick="post('col_3')">Column 3</th>
</tr>
<tr>
<td>A</td>
<td>B</td>
<td>C</td>
</tr>
<tr>
<td>B</td>
<td>C</td>
<td>A</td>
</tr>
</table>
,這裏是我寫的JavaScript:
<script>
function post(clm) {
$.post('mypage.php',{orderby:clm});
}
</script>
這是行不通的。任何人都可以告訴我需要改變以使其起作用嗎?現在,如果我點擊表頭,$ _POST數組仍然是空的。 (mypage.php是調用該函數的同一頁面,我也在單引號之間嘗試了它,就像使用form action屬性一樣,但它也沒有以這種方式工作)。謝謝。
你做一個新的呼叫mypage.php - 這將不會影響呈現一個你必須在屏幕上。要麼顯示返回的ajax數據,要麼代替ajax提交實際的表單,這會導致頁面刷新 – Steve 2014-09-13 14:23:39
好點。從我所見過的AJAX來看,提交數據片段並不需要重新加載整個頁面。但是,我需要整個頁面重新加載。有一個簡單的行或兩個AJAX將做到這一點? – user3865463 2014-09-13 14:37:32
Ajax將要求你重新編寫你的php,當通過ajax請求時輸出表格數據,我建議一個更簡單的解決方案 - 你是否也有頁面上的下拉表單,或者你是否刪除了? – Steve 2014-09-13 14:40:44