随机化表格单元格
Posted
技术标签:
【中文标题】随机化表格单元格【英文标题】:Randomize table cells 【发布时间】:2011-07-08 14:50:11 【问题描述】:我知道它的声音有点连线,但有没有办法随机化表格内容?精确的细胞。 这样做的目的 - 我有一个从几个 xml 生成的表,每个 xml 至少包含 5 个项目。在主表中,我只能按原样订购它们,但我需要随机化这些项目。
例如 - jsfiddle.net/tiitremmel/qcSNz/1/
这个表的结果可能看起来是随机的 td 的
【问题讨论】:
这意味着您在表格中的 tds 是动态变化的位置。 【参考方案1】: shuffle($("table"));
function shuffle(tbl)
var arr = tbl.find("td");
for(
var j, x, i = arr.length; i;
j = parseInt(Math.random() * i),
x = arr[--i], arr[i] = arr[j], arr[j] = x
);
var tmp;
var rows = tbl.find("tr").length
var cols = tbl.find("tr:first td").length
for (i = 0; i < rows; i++)
tmp = tbl.find("tr").eq(i);
tmp.html()
for (j = 0; j < cols; j++)
tmp.append(arr[i*cols+j]);
当然,这不是最好的代码,这是唯一的方法。但它有效。 在您的情况下,您需要使用
shuffle($("table tbody"));
【讨论】:
非常感谢!对我来说完全足够了。你解开了我的谜团!干得好!【参考方案2】:也许shuffle plugin 可以帮助您。 Here's原帖。
【讨论】:
以上是关于随机化表格单元格的主要内容,如果未能解决你的问题,请参考以下文章
LibreOffice 电子表格:使用特定过滤器选择随机单元格