我无法弄清楚如何使表中的所有单元格都可拖动,除了每行中的第一个单元格。我认为这可能有用:
$("#tableid tbody tr td:not(:first)").draggable({
connectToSortable: "#sortable",
helper: "clone",
revert: "invalid"
});
或者这个:
$("#tableid tbody tr td").not("#tableid tbody tr td:first").draggable({
connectToSortable: "#sortable",
helper: "clone",
revert: "invalid"
});
但两者都只是阻止第一行的第一个单元格可拖动。不是每一排......
有什么想法吗?
答案 0 :(得分:1)
要选择除第一行td
之外的所有,,您需要:
$('#tableid tbody tr').find('td:gt(0)')
在此处测试:http://jsfiddle.net/KsUCj/
通过调用:first
,您将找到整个集合中的第一个元素。
另外,如果您将每行中的第一个单元格视为特殊单元格,则听起来您实际上可能需要此标记:
<table><thead><tr>
<th></th>
<th scope="col">Column Head 1</th>
<th scope="col">Column Head 2</th>
</tr></thead><tbody><tr>
<th scope="row">Row Head</th>
<td>Row Cell 1</td>
<td>Row Cell 2</td>
</tr><tr>
<th scope="row">Row Head</th>
<td>Row Cell 1</td>
<td>Row Cell 2</td>
</tr></tbody></table>
这不仅更具语义性,而且为行头的CSS样式提供了更好的钩子,但是你不会遇到这个问题,因为tbody tr td
会选择除第一列以外的所有内容。
答案 1 :(得分:0)
不应该是'tr:first td'而不是'tr td:first'?