所以我使用Jquery UI Sortable并希望获取当前项被替换的属性。 找到一个解决方案 - 调用prev(),但它返回一个位于元素上方的元素,它可能不存在,元素ID来自存储在数据库中的值。
<table>
<tbody>
<tr id="1">
<td>1</td>
<td>item 1</td>
</tr>
<tr id="2">
<td>2</td>
<td>item 2</td>
</tr>
<tr id="3">
<td>3</td>
<td>item 3</td>
</tr>
</tbody>
</table>
$("tbody").sortable({
update:function(ev,ui){
var item = ui.item.attr("id");
var replaced = ui.item.prev().attr("id"); // If drag to 1 return "undefined"
alert("Moved #" + item + " to #" + replaced);
}
});
JSFiddle:http://jsfiddle.net/qL6t7Lo7/
答案 0 :(得分:0)
将替换后的变量更新为:
var replaced = ui.item.prev().attr("id") || 1;
你未定义的共鸣是因为第一个元素没有前一个项目。但是因为这只能在第一项上发生,如果没有找到replaced
,您可以将ui.item.prev().attr("id")
存储为1。