我有一个应用于table-responsive
类,我正在使用下拉列表。 因此,下拉总是落在桌子后面。 正如我之前听到的那样,这种情况无法解决。 所以我试图从表中获取最后一行并添加dropup
类,但由于表是可排序的,因此最后一行可能会在每种排序中发生变化。
我试着申请这个:
$("table#MyTable>tbody>tr:last>td>div").addClass("dropup");
…工作,但是当用户对表进行排序时,最后一行不再是最后一行。
示例: http : //jsfiddle.net/bqg0cyyL/ (应用了dropup
的最后一行)
怎么只有最后一行获得dropup
类(无论排序)?
最终答案(成功!)
最后感谢这个问题: 如何在外部JS脚本完成运行后运行一个函数我已经到达下面的解决方案:
的jsfiddle
$(document).ready(function() { $("#MyTable").on('sorted', function(){ var lastRow = $("#MyTable").find("tbody tr:last"); // Removing dropup class from the row which owned it $("#MyTable").find("tbody tr.dropup").removeClass("dropup"); // Adding dropup class to the current last row lastRow.addClass("dropup"); }); });
现在已经过时,但它显示了最终答案的历史
jQuery代码:
$(document).ready(function() { $("th").click(function() { var lastRow = $(this).closest("table").find("tbody tr:last"); if(!lastRow.hasClass("dropup")){ // Removing dropup class from the row which owned it $(this).closest("table").find("tbody tr.dropup").removeClass("dropup"); // Adding dropup class to the current last row lastRow.addClass("dropup"); } }); });
请注意,您的dropup
类未在jsfiddle中指定,因此我只能假设您提供的内容。 如果您有任何疑问,请告诉我。
编辑
上面的代码不起作用。 这是因为bootstrap-sortable.js负责表的排序。 这意味着,如果上面的click事件处理程序就位,bootstrap-sortable.js将在完成后运行。
你有两个选择:
因此,请尝试选项1并查看它是如何适用的,否则在外部JS文件结束后询问有关如何实现事件侦听器的新问题是值得的。
因为你的主要问题是桌子后面的下拉列表。 要解决这个问题,请使用下面的jQuery代码。
$('.table-responsive').on('show.bs.dropdown', function () { $('.table-responsive').css( "overflow", "inherit" ); }); $('.table-responsive').on('hide.bs.dropdown', function () { $('.table-responsive').css( "overflow", "auto" ); })
由于滚动,响应表内的引导按钮下拉不可见
以上就是jQuery教程分享无论排序如何获取最后一个表行?相关内容,想了解更多jQuery开发(异常处理)及jQuery教程关注计算机技术网(www.ctvol.com)!)。
本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。
ctvol管理联系方式QQ:251552304
本文章地址:https://www.ctvol.com/jquerytutorial/561307.html