我是相对jQuery noob并且无法在其他地方找到答案。我有一个任务表可以排序,以排名他们的优先级。当他们改变位置时,数据变量将用于ajax调用,以根据新的排序顺序重建表。
我有以下示例标记:
<table id="sortable"><tbody id="tasks_96" class="ui-sortable">
<tr class="blue_1 task_style ui-sortable-handle" id="204">
<td>Task 204</td>
</tr>
<tr class="blue_2 task_style ui-sortable-handle" id="203">
<td>Task 203</td>
</tr>
</tbody></table>
我有以下听众:
$("#sortable tbody").sortable(sortOptions);
选项:
var sortOptions = {
update: function(event, ui){
// retrieve order of ids, filter out empty values
var order = $(this).sortable('toArray').filter(Boolean);
// retrieve staffid (slice out the 'tasks_' part from the id)
var staffid = event.target.id.slice(6);
var data = { 'staffid' : staffid, 'order' : order };
console.log(data);
// make ajax call with data
....
}
预期的控制台输出将是“Object {staffid:”96“,order:Array [2]}”但我得到的是“Object {staffid:”96“,order:Array [0]}”。
注意:没有sortable('toArray')调用,排序工作正常......
提前致谢。