同一页面上的多个 DataTables 具有不同的 ajax 源

     2023-05-07     76

关键词:

【中文标题】同一页面上的多个 DataTables 具有不同的 ajax 源【英文标题】:Multiple DataTables on the same page with different ajax sources 【发布时间】:2011-12-11 07:05:36 【问题描述】:

我在一个页面上使用dataTables 有多个表格。每个都需要有自己的“sAjaxSource”。我似乎无法弄清楚如何做到这一点。这是我拥有的最少代码:

         var oTable = $('.datatable').dataTable( 
                "bProcessing": true,
                "sAjaxSource": "/ajax/function",
                "bSort": false,
                "fnDrawCallback": function() 
                       //some click events initilized here
                 
            );

这基本上是最基本的设置。每个表作为数据表类和一个唯一的 ID。但不确定如何根据特定表更改 AjaxSource。

谢谢!

编辑:

这是我最终做的:

        $('.datatable').each(function(index)

             $('#'+$(this).attr('id')).dataTable( 
                "bProcessing": true,
                "sAjaxSource": $(this).children('caption').html(),
                "bSort": false,
                "fnDrawCallback": function() 
                 
            );
        );

在表格中,我放置了一个被 css 隐藏并包含 Ajax 源 URL 的标题标签。它遍历每个实例并获取 url。

到目前为止,这似乎有效!

【问题讨论】:

【参考方案1】:

这行不通吗?它使用 id 而不是类来唯一标识每个数据表,并根据 id 将单独的源附加到每个表。

  var oTable = $('#FirstDataTableID').dataTable( 
            "bProcessing": true,
            "sAjaxSource": "/ajax/function",
            "bSort": false,
            "fnDrawCallback": function() 
                   //some click events initilized here
             
        );

  var oTable = $('#SecondDataTableID').dataTable( 
            "bProcessing": true,
            "sAjaxSource": "/ajax/other_function",
            "bSort": false,
            "fnDrawCallback": function() 
                   //some click events initilized here
             
        );

【讨论】:

是的,可能,但我不想为每一个都使用全新的初始化,很快就会变得非常混乱。 好吧,为每个数据表单独初始化而不为每个数据表单独初始化是非常棘手的,这就是您所要求的。您可以尝试基于类进行一个通用初始化,然后分开较小的初始化,仅指定源属性,这样就不会重复通用代码。 我刚刚用一个似乎有效的解决方案更新了我的帖子,你怎么看?发现任何问题? 对我来说似乎有些复杂,但如果你有很多,它可能是有道理的。但是,我不会以这种方式使用额外的元素,而是将源作为自定义属性或通过 jQuery.data() 附加到可数据元素本身。 好主意,我尝试使用 jQuery.data() 但是,它似乎没有保留价值。也许 dataTables 删除它?您认为还有什么其他属性更合适?【参考方案2】:

我遇到了同样的问题,我使用类似于你的 html5 数据属性和初始化代码解决了这个问题:

$('.dataTableServer').each(function () 
        var source = $(this).attr("data-source");
        $(this).dataTable(
            "sPaginationType": "full_numbers",
            "bProcessing": true,
            "bServerSide": true,
            "sAjaxSource": source
        );
    );

这样您就不必为每个数据表创建一个 id

【讨论】:

【参考方案3】:

您需要单独选择每个表并对其应用适当的 Ajax 数据源,以便获得所需的内容。现在您正在根据类名进行选择:

$(".dataTable")

可能需要转换为:

$("#dataTable1")

如果你有很多桌子,我想这会变得乏味,但这几乎是你可以做你打算做的事情的唯一方法。

【讨论】:

【参考方案4】:

您可以在同一页面上使用两个或多个。我已经做到了,数据表工作得很好。 Datatables 将数据存储在本地,即使记录是从其中异步删除的。因此,当我们搜索已删除的记录时,我们需要明确始终显示正确的结果。 由于数据表只需要初始化一次,我们需要记住,对于同一页面上的每个数据表,我们必须继续初始化数据表,因为它们正在存储本地记录,因为我们不希望这样,因为在同一页面上我们确实存储/显示不同的数据。

所以。我们必须像

$("#Id_of_Current_DTBL").DataTable().destroy();
$("#Id_of_Other1_DTBL").DataTable().clear();
$("#Id_of_Other2_DTBL").DataTable().clear();

这将解决问题。

【讨论】:

从同一个 git 存储库部署到具有不同环境变量的弹性 beanstalk 上的不同环境

】从同一个git存储库部署到具有不同环境变量的弹性beanstalk上的不同环境【英文标题】:Deployingtodifferentenvironmentswithdifferentenvvariablesonelasticbeanstalkfromthesamegitrepository【发布时间】:2018-08-1313:22:30【问题描述】:管理具有多个环境... 查看详情

使用 MVC 在同一页面上的多个部分视图和模型绑定实例

】使用MVC在同一页面上的多个部分视图和模型绑定实例【英文标题】:MultipleinstancesofpartialviewsandmodelbindingonsamepagewithMVC【发布时间】:2016-07-0509:19:58【问题描述】:我有一个局部的两次视图。部分不使用循环并具有基本验证。这... 查看详情

如何在同一页面上的 Fragment 内创建具有 3 个 Fragment 的 ViewPager?

】如何在同一页面上的Fragment内创建具有3个Fragment的ViewPager?【英文标题】:HowtocreateaViewPagerwith3FragmentsinsideaFragmentonthesamepage?【发布时间】:2021-03-2502:06:16【问题描述】:我想创建一个应用程序来使用ViewPager在片段中显示3个不... 查看详情

同一删除查询上的页面锁定

】同一删除查询上的页面锁定【英文标题】:Pagelockonsamedeletequery【发布时间】:2014-07-2116:39:25【问题描述】:尝试执行delete语句时有时会出现死锁。死锁图在受害者和“赢家”列表中显示相同的delete语句(processlist显示具有2个... 查看详情

同一页面中多个数据表循环内的日期范围

...时间】:2019-02-1905:42:31【问题描述】:我来自问题[https://datatables.net/forums/discussion/51949/looping-multiple-datatables-on-the-same-page#latest],发现了一个 查看详情

同一网站空间上的两个域,但通过 htaccess 和 GET 参数具有不同的内容/语言

】同一网站空间上的两个域,但通过htaccess和GET参数具有不同的内容/语言【英文标题】:Twodomainsonsamewebspacebutdifferentcontent/languagebyhtaccessandGETparameters【发布时间】:2019-06-2703:53:35【问题描述】:我需要一个重写规则或其他一些解... 查看详情

具有别名的同一列上的多个连接

】具有别名的同一列上的多个连接【英文标题】:multiplejoinsonthesamecolumnwithalias【发布时间】:2020-04-2109:44:02【问题描述】:我正在尝试将多个表连接在一起。需要在同一列上连接2个表。但是,我需要使用指定的列别名,因为这... 查看详情

如何在具有不同域的同一 IP/服务器上托管多个 Node.js 站点?

】如何在具有不同域的同一IP/服务器上托管多个Node.js站点?【英文标题】:HowdoIhostmultipleNode.jssitesonthesameIP/serverwithdifferentdomains?【发布时间】:2013-10-1518:46:21【问题描述】:我有一个绑定了单个IP的linux服务器。我想在这个IP上... 查看详情

同一页面上的两个 iframe fancybox

】同一页面上的两个iframefancybox【英文标题】:Twoiframefancyboxonsamepage【发布时间】:2012-09-1801:44:35【问题描述】:fancybox脚本有一个问题。我正在使用fancybox2.1(最新)。例如,我希望两个iframe链接在同一页面上工作,但每个模式... 查看详情

同一存储的依赖注入多个接口(具有不同的connectionString)

】同一存储的依赖注入多个接口(具有不同的connectionString)【英文标题】:dependencyinjectionmultipleinterfaceforthesamestorage(withdifferentconnectionString)【发布时间】:2021-09-2513:51:13【问题描述】:我想在Startup.cs中添加两个或更多(取决于... 查看详情

具有不同端口的同一服务器上的 2 个连接 mbedtls

】具有不同端口的同一服务器上的2个连接mbedtls【英文标题】:2connectionsonasameserverwithdifferentportsmbedtls【发布时间】:2018-12-2817:30:15【问题描述】:我正在开发一个带有Lwip和mbedTLS堆栈的嵌入式项目。我有一个线程在端口21上管理... 查看详情

在同一页面上的多个图表上将vaxis设置为相同比例(代码片段)

我有一个html文档,显示从同一个FusionTable查询的三个折线图。第一张图表是出生人数/年,另外两张是每年显示婚姻和死亡人数。我想设置vAxis所以所有三个图表都具有0-35,000的相同比例。我尝试过在网上找到的多种解决方案,包... 查看详情

PHPUnit 中的模拟 - 具有不同参数的同一方法的多个配置

】PHPUnit中的模拟-具有不同参数的同一方法的多个配置【英文标题】:MockinPHPUnit-multipleconfigurationofthesamemethodwithdifferentarguments【发布时间】:2011-07-2523:17:58【问题描述】:可以这样配置PHPUnitmock吗?$context=$this->getMockBuilder(\'Conte... 查看详情

同一页面上的多个版本的 JQuery [重复]

】同一页面上的多个版本的JQuery[重复]【英文标题】:MultipleversionsofJQueryonthesamepage[duplicate]【发布时间】:2012-10-3103:18:12【问题描述】:是否可以处理加载在同一页面中的2个版本的jQuery之间的冲突?假设这些代码行:<scripttype=... 查看详情

GWT 中具有人性化 URL 的多个“页面”

】GWT中具有人性化URL的多个“页面”【英文标题】:Multiple"pages"inGWTwithhumanfriendlyURLs【发布时间】:2011-01-2423:55:43【问题描述】:我正在玩一个GWT/GAE项目,该项目将具有三个不同的“页面”,尽管它并不是真正意义上的GW... 查看详情

同一域上的不同页面显示不同的 cookie(按目标域)

】同一域上的不同页面显示不同的cookie(按目标域)【英文标题】:Differentpagesonsamedomainshowdifferentcookies(bytargetdomain)【发布时间】:2020-04-3022:23:24【问题描述】:我有一个单点登录实现,当人们登录时,它会向网站添加cookie。在... 查看详情

如何一个接一个地打开同一片段但具有不同数据的多个实例?

】如何一个接一个地打开同一片段但具有不同数据的多个实例?【英文标题】:Howtoopenmultipleinstancesofthesamefragmentbutwithdifferentdata,oneaftertheother?【发布时间】:2018-03-0207:49:58【问题描述】:我从Activity的模型类进行了几次api调用,... 查看详情

同一页面上的多个版本的脚本 (d3.js)

】同一页面上的多个版本的脚本(d3.js)【英文标题】:multipleversionsofascriptonthesamepage(d3.js)【发布时间】:2013-04-1521:44:37【问题描述】:我需要在同一页面上有多个版本的javascript库。除了手动重构一个版本以避免命名冲突之外,我... 查看详情