2015-05-19 54 views
0

我有一個表,我想在我的PHP文件進行排序排序表出路。我想按照NAME對我的桌子進行排序。我希望的結果是每當我點擊「名稱」標題時,它會根據名稱按升序或降序對錶格進行排序。如何根據名字

我知道這可以通過JavaScript來完成,但我必須將每個值分配給一個數組,並使用array.sort或者是任何其他更好的方法?

注:我是JavaScript新手,仍在學習如果您想回答,請使用純JavaScript代碼而不是jQuery,因爲我不知道任何jQuery。請不要建議像「表格排序」等任何jQuery插件等。

編輯:好吧,讓我們說我知道一點jQuery(超級初學者級別),我這樣做,他們對它的方式是什麼要完成?

+1

如果你想使用純JavaScript,編寫代碼是非常痛苦的。這意味着在對JS中的元素進行排序後重新生成html。 jQuery比vanilla JS更容易拾取。我在學習更多關於JavaScript之前先學習了jQuery。 =) – Mox

+0

這是jQueries甜蜜點 - 但如果你喜歡痛苦...... –

+0

好吧,所以我們說我知道一點jQuery,我這樣做,他們的方式是做什麼?將作爲編輯置於問題中。 – hzq

回答

1

在jQuery中解決這個問題很簡單。用純JS解決它將是非常複雜的,也許是不可能的。我強烈建議學習jQuery,因爲它受所有瀏覽器支持,並以您無法想象的方式擴展Javascript。學習曲線起初非常陡峭,但學習後很容易。 很好的網站,學習jQuery - >http://www.1stwebdesigner.com/jquery-beginners-1/

在jQuery中,你只需讀取行,並把它解析爲一個關聯數組(對象)的鑰匙,你正在排序的價值和每行的值。清除表中的行,然後按鍵排序該對象,然後將該數組的每個元素作爲行添加到表中。

如果您的數據來自數據庫(聽起來不像它),那麼在顯示之前對其進行排序是最簡單的。如果你希望列可以排序,我通常用ajax和jQuery來做,但一個簡單的方法是讓每個列頭都是一個表單提交,然後重新繪製頁面 - 數據庫代碼將每次排序結果。

+0

如果你給我的例子是什麼[一些代碼],我可以寫你的jQuery。 – Scott

+0

我明白了,我的數據來自數據庫。我也使用ajax。如果我要創建一個sql查詢來排序數據庫中的第一個數據庫,那麼如果使用javascript ajax函數單擊標題,它將會被執行嗎? – hzq

+0

你正在做沒有jQuery的ajax?如果這是真的,那麼你真的很努力工作 - 祝你好運,讓它可以在所有類型的IE和標準瀏覽器上運行...... jQuery的ajax函數是BOMB,並且易於實現。無論如何,在SQL中進行排序是BY FAR最簡單的方法。只需清理表格,讓ajax獲取新表格並將其寫入文檔(所有這些操作都很簡單,jQuery和跨瀏覽器兼容)。 – Scott