我需要動態改變html/js表中列的順序,你可以告訴我該怎麼做? 謝謝大家!更改表列順序
更改表列順序
回答
如果你只需要簡單地移動列,沒有任何花哨的拖放動畫,下面的JS應該做的伎倆:
<script type="text/javascript">
$(function() {
jQuery.each($("table tr"), function() {
$(this).children(":eq(1)").after($(this).children(":eq(0)"));
});
});
</script>
根據需要更換號碼。這個概念的工作原理
看起來,寫這個作爲一個班輪是不可能的。包括選擇器中的td,即使行選擇器似乎在一個單獨的索引上保留了每個td,而忽略了行。
一個jQuery網格插件應該這樣做,否則。雖然我沒有這種插件的經驗。
移動列並不難:
您可以使用此功能:
jQuery.moveColumn = function (table, from, to) {
var rows = jQuery('tr', table);
var cols;
rows.each(function() {
cols = jQuery(this).children('th, td');
cols.eq(from).detach().insertBefore(cols.eq(to));
});
}
然後調用它像這樣:
var tbl = jQuery('table');
jQuery.moveColumn(tbl, 2, 0);
因此,通過了解該列的索引,以及您想要放置它的索引(從零開始),您可以移動列,包括列標題。
這裏是工作的jsfiddle:http://jsfiddle.net/Qsys7/1/
這裏是一個jQuery插件,我剛寫來切換兩列的內容:
$.fn.switchColumns = function (col1, col2) {
var $this = this,
$tr = $this.find('tr');
$tr.each(function(i, ele){
var $ele = $(ele),
$td = $ele.find('td'),
$tdt;
$tdt = $td.eq(col1).clone();
$td.eq(col1).html($td.eq(col2).html());
$td.eq(col2).html($tdt.html());
});
};
試過這個,它實際上只切換單元格的內容而不是列本身。如果你有td元素對它們中包含的內容很重要,這是行不通的。如果你沒有這些要求,概念就起作用了。 – 2012-04-12 22:17:27
如果列上有'width'屬性或其他樣式屬性,則移動列的內容並不那麼聰明。你只是結束了寬列更窄,反之亦然。 – cartbeforehorse 2014-07-02 22:26:07
- 1. 更改列順序
- 2. 更改列順序
- 3. 更改列順序?
- 4. 更改列順序
- 5. 更改列表排序順序內聯
- 6. 如何更改列表的順序?
- 7. 如何更改列表的順序?
- 8. Html,更改表中的列順序
- 9. linq更改列順序
- 10. 更改列的順序
- 11. SQL來更改列順序
- 12. Bootstrap:更改列順序
- 13. jQGrid - 更改列順序
- 14. Bootstrap 4更改列順序
- 15. 更改陣列順序(如列)
- 16. 更改結果中顯示的列的順序,而不更改選擇順序
- 17. SQL:更改表的數據列 - 保留列順序
- 18. jQuery Mobile - 更改列表排序順序的按鈕?
- 19. 創建表,唯一的列更改排序順序
- 20. 如何根據行ID列表更改表中行的順序?
- 21. 如何更改表單中列表項的順序?
- 22. 更改數據庫列的順序
- 23. 如何更改gridview中列的順序?
- 24. 更改gridview中列的順序
- 25. 如何更改此隊列順序?
- 26. 如何更改列的順序TableLayoutPanel c#
- 27. 在ReportViewer中按列順序更改組
- 28. 如何更改舊版datatables列順序?
- 29. Flexbox - 如何更改列的順序?
- 30. 更改減速排列順序
改變列是艱難的,不斷變化的行很容易 – 2011-03-28 19:47:24
使用表格插件。 http://plugins.jquery.com/projects/plugins/tables – 2011-03-28 19:48:14
你應該在這裏提供更多細節。你是否希望允許用戶拖放列的順序?你需要這種靈活性有多大? – jessegavin 2011-03-28 19:48:34