【问题标题】:Disable datatables when processing处理时禁用数据表
【发布时间】:2016-12-06 13:29:14
【问题描述】:

我正在使用处理消息的数据表,但我想在显示此消息时阻止数据表。这很重要,否则用户可能会使用旧行。 这是我的配置:

datatableTable = $('#datatableTable').DataTable({
            responsive: true,
            "bLengthChange": false,
            deferRender:    true,
            scrollY:        '60vh',
            scrollCollapse: true,
            scroller:       true,
            "bProcessing": true,

我正在使用这条消息 css:

div.dataTables_wrapper div.dataTables_processing {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 200px;
  margin-left: -100px;
  margin-top: -26px;
  text-align: center;
  padding: 1em 0;
  z-index: 9999;
}

有没有办法阻止数据表?谢谢

【问题讨论】:

  • “块数据表”到底是什么意思?禁用数据表控件元素,例如分页和列标题或其他内容?
  • 在我的数据表的每一行我有几个按钮,文件浏览等等,我想禁止使用这些元素。
  • 那么它与数据表无关。由于您自己在表格中输出输入元素,因此您也必须自己禁用它们。数据表无法为您完成所有工作。
  • 不能禁用整个数据表吗?我看到处理过程中给出的所有命令都在细化结束时进行了细化(甚至列排序)
  • 只能手动禁用所有子输入元素(例如使用循环)。

标签: javascript jquery html css datatables


【解决方案1】:

您可以禁用鼠标交互:

$("body").addClass("disabled");

还有css:

.disabled {
    pointer-events: none;
}

您还可以在您的消息和正文之间放置一个固定的叠加层,并设置一些不透明度(如 0.5)、黑色背景、适当的 z-index 等,以使其隐藏后面的所有内容。

也许您还应该阅读一些有关数据库事务的内容 - 有许多数据问题的解决方案。

【讨论】:

  • 我已经有了禁用所有页面的模式,我只是想知道是否可以仅禁用表格
  • 当然——你可以为你的表添加id(例如#tableid)然后写:
  • $("#tableid").addClass("disabled"); :)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-08-08
  • 1970-01-01
  • 1970-01-01
  • 2023-03-14
  • 1970-01-01
  • 2016-02-13
相关资源
最近更新 更多