当我将树桌与simple-tree-table
集成时,我有一张桌子。有了这个,我可以与父母和孩子一起工作,崩溃和扩大。
现在我正在尝试拖放jQuery排序的行,我可以很好地拖动行,但我需要将父母和他们的孩子一起拖动,现在发生的事情是我只能拖动父。我跟着这个tutorial。
要对行进行排序,我有这个代码,如果tr
是一个孩子,那么drop是不可能的,否则我可以对该行进行排序。
我需要的是检测父母是否有孩子,如果有,那么我必须放弃父母和孩子。我怎样才能做到这一点?
<table id="gama">
<tr data-node-id="1">
<td>1</td>
<td>text of 1</td>
</tr>
<tr data-node-id="1.1" data-node-pid="1">
<td>1.1</td>
<td>text of 1.1</td>
</tr>
<tr data-node-id="2">
<td>2</td>
<td>text of 2</td>
</tr>
<tr data-node-id="2.1" data-node-pid="2">
<td>2.1</td>
<td>text of 2.1</td>
</tr>
</table>
$("#gama tbody tr.child").sortable({
helper: fixHelperModified,
stop: updateIndex,
cursor: 'no-drop',
}).disableSelection();
$("tbody").sortable({
distance: 5,
delay: 100,
opacity: 0.6,
cursor: 'move'
});
您可以使用jQuery查找具有以父元素的data-node-pid
开头的属性data-node-id
的元素。
例如,要使用data-node-id="1"
查找元素的子元素,您可以执行以下操作:
$("tr[data-node-pid^='1']")
这将返回所有带有data-node-pid
的节点,以'1'开头(例如'1.1','1.2.1'等)。如果它是空的,则父母没有孩子。