2012-07-26 45 views
0

因此,我喜欢亲自学习并获得帮助。我不想使用javascript/jquery插件,因为我想开发自己的代码。那么,如何按一下按钮,按字母顺序排列表格?当他们点击按钮时,根据正在排序的列,该行将按字母顺序排列,并且该行的其余部分将跟随。谢谢!如何在JavaScript和/或jQuery中对多列进行排序

<table id=sortableTable"> 
    <thead id="myTHead"> 
     <tr> 
     <th> Month </th> 
     <th> Population </th> 
     </tr> 
    </thead> 
    <tbody id="myBody"> 
<tr> 
<td>March</td> 
<td>100</td> 
</tr> 
<tr> 
<td>April</td> 
<td>300</td> 
</tr> 
<tr> 
<td>Febuary</td> 
<td>200</td> 
</tr> 
+2

好的,如果你想开发自己的代码,到目前为止你尝试过了什么? – 2012-07-26 15:36:23

+0

我试过只是做一个无序的列表。我得到了那个排序。然后我试着把相同的思维过程和格式放到一个表中,它不起作用,更糟糕的是我不得不按照列对它进行排序,并且行遵循 – opbeta 2012-07-26 15:41:59

回答

0

我不会给你一个代码示例,因为你所要求的只是相当长的一段代码。但是,你需要做的方法就是确保你拥有用特定ID生成的所有表格元素。可能是格式id =“colnum_rownum”。

如果您对每列有一个排序按钮,他们可能需要自己的ID;以及像id =“sort_colnum”一样。

当你点击那个按钮时,你会想要调用一个函数来获取包含你点击的列的ID的所有元素。然后您可以对它们进行排序,以了解哪些行号需要移到哪里。然后,您可以将DOM中的这些行移动到新的位置,并可能修改该ID以反映它们的新位置,以便在稍后单击另一个按钮时再次进行排序。

从学术理解的角度来看,通过这样的事情是一件有趣的事情。从实际的角度来看,如果已经有很多好的解决方案,花时间实施这样的事情会很疯狂。

+0

,但是那里有没有很好的解决方案,那里不是插件? – opbeta 2012-07-26 17:24:10

+0

如果通过插件表示您不会加载任何外部JavaScript框架或第三方脚本,则不需要,您几乎可以自行构建它。 – 2012-07-26 17:27:05

相关问题