我有一个超越我的谜题,因为我认为我理解它是如何工作的但显然我不是。以下函数的columns.push($('#squad'+count).val());
包含"Squad " +count
,因此您获得了Squad 1 2 3 4 5 etc etc
。
下一个推送包含名称Bob, Joe, John, Mark, etc etc
。
现在,以下产生:
Squad 1|Bob,Joe,John,Mark|Squad 2|Cletus,Ray ray,Billy Joe|Squad 3|Fred,Barney,Wilma
我希望它输出:
Squad 1,Bob,Joe,John,Mark|Squad 2,Cletus,Ray ray,Billy Joe|Squad 3,Fred,Barney,Wilma
我不能为我的生活弄清楚这一点。而且我知道这很简单,但几个小时的搜索让我在这里。任何帮助表示赞赏。
function getItems(exampleNr)
{
var count = 0;
var columns = [];
$(exampleNr + ' ul.sortable-list').each(function(){
columns.push($('#squad'+count).val());
columns.push($(this).sortable('toArray').join(','));
count++;
});
return columns.join('|');
}
答案 0 :(得分:1)
您正在将 Squad#加入相同的columns
数组。之前的代码产生了它所做的结果,因为columns
是
这就是他们用管道分隔的原因(|
)。
要根据需要修复它,您需要 Squad#以及其他名称。您可以通过将columns.push
行更改为这一行来实现此目的:
columns.push( [$('#squad'+count).val()].concat($(this).sortable('toArray')).join(',') );
使用 Squad#有效地创建一个数组,并在结束之前将已排序的数组连接起来将它们与,
连接在一起。
答案 1 :(得分:0)
只需合并两个push
并将两个数据放在一起。
function getItems(exampleNr)
{
var count = 0;
var columns = [];
$(exampleNr + ' ul.sortable-list').each(function(){
columns.push($('#squad'+count).val()+','+$(this).sortable('toArray').join(','));
count++;
});
return columns.join('|');
}