【问题标题】:How to disable sort in datatable when a specific button is clicked单击特定按钮时如何禁用数据表中的排序
【发布时间】:2020-07-12 02:23:02
【问题描述】:

我在数据表标题中有一个添加按钮,其中还有一个排序按钮。当我单击添加按钮时,它会对列进行排序,然后打开一个新页面。我希望当单击添加按钮时它会打开一个新页面而不进行排序。我怎样才能防止这种情况谢谢你的帮助

这是视觉的样子

这是我的html

<th><p><a id="open-new" class="btn" href="/fichaproveedor/AnadirEditar/0" ><i class="material-icons-add" title="Crear nuevo">add_box</i></a>Proveedor Id</p></th>

这里是完整生成的html

<th class="sorting_asc" tabindex="0" aria-controls="proveedorTable" rowspan="1" colspan="1" style="width: 142px;" aria-label="add_boxProveedor Id: Activar para ordenar la columna de manera descendente" aria-sort="ascending"><p><a id="open-new" class="btn" href="/fichaproveedor/AnadirEditar/0"><i class="material-icons-add" title="Crear nuevo">add_box</i></a>Proveedor Id</p></th>

我相信这个问题可以通过我尝试过但未能解决的 javascript 来解决。感谢您的帮助。

【问题讨论】:

  • 你会包含你的控制器代码吗? /fichaproveedor/AnadirEditar/0 中的 url 参数“0”是否用于表示它不可排序?

标签: javascript jquery asp.net-mvc datatable


【解决方案1】:

我不确定这是否真的有效,因为我自己没有尝试过,只是基于我自己在互联网上阅读的内容。但我希望它有所帮助。

$( "#open-new" ).click(function( event ) {
  event.stopPropagation();
});

据我了解,当您单击该图标时,它应该只执行给定的操作,因此打开新页面,使用event.stopPropagation(); 您将阻止任何其他事件的发生。

如果这实际上停止了事件,但也阻止了它打开新页面,试试这个:

$( "#open-new" ).click(function( event ) {
  event.stopPropagation();
  window.open("/fichaproveedor/AnadirEditar/0");
});

【讨论】:

  • 非常感谢您的第一个解决方案对我有用。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-12-08
  • 2019-08-15
  • 1970-01-01
  • 2016-03-18
相关资源
最近更新 更多