jQuery ui 可排序,2 个可排序表,在使用另一个表时禁用其中一个
我有一个可排序的表格。每行内都有一个链接,可动态加载另一个可排序表(它扩展该行)。我遇到的问题是,如果您不单击正确的特定区域,您仍然可以对整个动态排序表进行排序,因为它仍在父表的可排序行中。我想要做的是在加载新表时禁用父表上的可排序。
所以这个:
<table class="sortable">
<tr><td><a class="load" href="#">load content</a></td></tr>
<tr><td><a class="load" href="#">load content</a></td></tr>
</table>
变成这样:
<table class="sortable">
<tr><td>
<table class="sortable_subtable">
<tr><td>loaded content row 1</td><tr>
<tr><td>loaded content row 2</td><tr>
</table>
</td></tr>
<tr><td><a class="load" href="#">load content</a></td></tr>
</table>
我尝试在加载 sortable_subtable 的点击事件上使用 $('.sortable').sortable('disable');
,但它最终只是禁用了整个可排序的用户界面。
注意:我不想隐藏任何东西
基本上我想要这个:
$('.sortable, .sortable_subtable').sortable();
$('.load').click(function(e){
//disable sortable on '.sortable' only
//loads dynamic content into table row, expanding row
});
I have a table that's sortable. Within each row is a link that dynamically loads another sortable table (it expands the row). The problem I have is that if you don't click in the right specific area, you can still sort the entire dynamically sorted table because it's still within in the sortable row of the parent table. What I want to do is disable sortable on the parent table when the new table is loaded.
So this:
<table class="sortable">
<tr><td><a class="load" href="#">load content</a></td></tr>
<tr><td><a class="load" href="#">load content</a></td></tr>
</table>
turns into this:
<table class="sortable">
<tr><td>
<table class="sortable_subtable">
<tr><td>loaded content row 1</td><tr>
<tr><td>loaded content row 2</td><tr>
</table>
</td></tr>
<tr><td><a class="load" href="#">load content</a></td></tr>
</table>
I've tried using $('.sortable').sortable('disable');
on the click event that loads the sortable_subtable, but it just ends up disabling the whole sortable ui.
Note: I do not want to hide anything
basically I want this:
$('.sortable, .sortable_subtable').sortable();
$('.load').click(function(e){
//disable sortable on '.sortable' only
//loads dynamic content into table row, expanding row
});
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我用列表而不是表格对此进行了测试,它似乎有效。检查工作 jfiddle 示例。
它看起来像这样
脚本:
第二行禁用主列表后,您可以仅对子表列表进行排序
UPDATE
找到了一篇关于如何使用表格的帖子可排序。
基本上将行放入
然后使用
I tested this with list instead of tables and it seems to work. Check the working jfiddle example.
It looks like this
And the script:
After the second line disables the main list, you can sort just the subtable list
UPDATE
Found a post on how to use tables with sortable.
Basically put the rows inside
<tbody class=content>
then use