我有一个或多个行,每行都有一个s
值。
该表是可排序的。
我需要以表格所在的正确顺序获取data-id值的列表,并将它们返回给我的控制器以重新分配项目的优先级。
所以我试图创建一个迭代每一行并构建逗号分隔字符串的函数。
data-id
我面临的问题首先是我的第一项,当我'警告'结果时,是“NaN”。所以,我的结果如下:
“NaN时,12,7,2,1”
我认为这是因为它正在读取没有数据ID的'Header'行。可能是因为 function GetOrder()
{
var ordered;
$("#debt_list tr").each(function () {
var id = $(this).data("id");
if(id != 'NaN')
ordered = ordered + id + ',';
});
var result = ordered.replace(/(^,)|(,$)/g, "");
return result;
}
行。
我可以阻止它读取标题吗?或者我可能需要为每一行分配一个类?糟糕的修复可能是在标题中添加data-id = 0并忽略它?
我对jquery很新 - 这是我正在尝试做的正常代码吗?
答案 0 :(得分:1)
您还可以执行以下操作以排除标题,只访问tbody的行是$(" #debt_list tbody tr") 并且你的代码中还有另一个错误,你没有为变量排序和尝试访问它定义任何东西,因为它返回NAN
function GetOrder()
{
var ordered="";
$("#debt_list tbody tr").each(function () {
var id = $(this).data("id");
if(id != 'NaN')
ordered = ordered + id + ',';
});
var result = ordered.replace(/(^,)|(,$)/g, "");
}

希望这有帮助
答案 1 :(得分:0)
要排除标题行,请按以下方式更改选择器:#debt_list tr:not(:first-child)
NaN不是字符串,请将测试从if(id != 'NaN')
更改为if (!isNaN(id))