【问题标题】:How can I populate DataTables select menus dynamically?如何动态填充 DataTables 选择菜单?
【发布时间】:2012-07-24 16:41:18
【问题描述】:

我有一个显示来自 MySQL 数据库的信息的 DataTables 表。我正在尝试创建下拉过滤器<select>,就像使用的here 一样。我知道服务器端表不能使用那个精确的例子,但我不确定如何更改它以使其与服务器端数据库表一起使用。

如何创建下拉菜单,填充来自表/数据库的信息,以过滤 DataTables 表?

编辑:服务器端在 PHP 中。我尝试查询数据库并使用 PHP 创建一个单独的菜单,并将 JSON 编码的信息发送到选择菜单中。

【问题讨论】:

  • 好的,在这个问题被否决之前......你能给我们一些代码吗?你试过的东西?回答您的具体问题要比给您数百万种可能性要容易得多。也是 php、c#、ruby、python 等中的服务器端...给我们一些东西:)
  • 对不起!我对其进行了编辑以添加信息。我真的没有任何代码要显示,因为我还没有找到任何有效的方法。

标签: php javascript mysql datatables


【解决方案1】:

好的,我不知道如何使用 PHP 实现这一点的具体细节(我知道这绝对是可能的)所以我会给你一个通用的纲要。你可以稍后向我询问具体细节,我会编辑我的回答。

首先你必须有 ajax 源代码。

然后,您可以使用相同的功能(来自服务器端)动态填充下拉列表中的选项。就是这样

首先你为空<select id='id1'></select> 编写html代码 然后您可以使用数据表中的draw 事件,您可以在该事件上发出ajax 请求来填充下拉列表$(oTable).on("draw", function() { ... });。 之后,当其中一个选择选项更改时,您可以刷新表和下拉列表。

这是回答您(模糊)问题的最通用方式。

这里有更多资源:

刷新ajax数据:how can I trigger jquery datatables fnServerData to update a table via AJAX when I click a button?

如果您有更具体的问题,请告诉我。

【讨论】:

  • 谢谢!我想我可以从你给出的总体布局中找出我需要的其余部分。
  • 我很高兴在它被否决之前成功了 :)
  • 其实我有一个问题,抱歉。我仍然不确定如何填充下拉菜单。所有表信息的源都作为 JSON 对象从 PHP 代码传递。我的整个问题是我不知道填充下拉菜单的请求是什么,而不是刷新表格的问题。
  • 您可以返回下拉列表的 HTML 代码:<option>1</option><option>2</option> 只是不要返回 JSON 对象,而只是返回常规文本(我不确定如何在 PHP 中执行此操作,但它必须有可能)。
  • 我不确定我是否遵循。我要说的是,我正在尝试根据用户选择(从选择菜单中)过滤表中的结果。表中的值与我希望用户能够过滤的值相同,例如在列名中,能够选择所有具有 'Name' = 'Iro' 的结果,或者其他。为此,我希望选择框的值与表中的值相同,而不是 1、2 等,并动态创建它们,以便它们始终与表记录匹配。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-07-24
  • 2023-03-25
  • 1970-01-01
  • 2014-12-11
相关资源
最近更新 更多