我正在存储表行订单服务器端,以便用户可以根据需要排列行。当我加载页面时,我称之为:
var items = $('#body').find('tr');
var order = [ <? echo $row_order; ?>];
var orderedItems = $.map(order, function(value) {
return items.get(value);
});
$('#body').empty().html(orderedItems);
如果行具有整数ID,则此方法非常有效。如果ID中有字母,它就不起作用 - 表格刚刚清空。在orderedItems变量上抛出console.log(),我发现在这种情况下它也是空的。有没有办法让它与字母数字行ID一起使用,还是只需更改命名约定?
修改
以下是订单变量的两个实例,第一个工作,第二个不工作:
var order = [ 1,0,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21];
var order = [ view_42,edit_42,view_41,view_43];
答案 0 :(得分:0)
如果order是元素ID数组
var items = $('#body').find('tr');
var order = [ <? echo $row_order; ?> ];
var orderedItems = $.map(order, function (value) {
//or return $('#' + value).get();
return items.filter('#' + value).get();
});
$('#body').empty().html(orderedItems);
演示:Fiddle
答案 1 :(得分:0)
试试这个:
var orderedItems = $.map(order, function(value) {
return items.filter('#' + value);
});