【问题标题】:Fill jQuery DataTables with drop down and PHP用下拉菜单和 PHP 填充 jQuery DataTables
【发布时间】:2014-05-09 21:26:25
【问题描述】:

我正在使用 DataTables,这是我的场景:

1)我有一个下拉菜单,其中包含一些用户名和他们的正确 ID;
2)我有一个空的数据表;
3)我想检测从下拉菜单中选择一行的用户ID,使用DataTables的data:属性将其传递给server_processing.php(DB查询),并在数据表中显示DB查询的结果。

下拉代码:

<select id="selezione_user" name="selezione_user" class="select2 form-control">
<option value="">Seleziona</option>
<?php $query=mysql_query("SELECT user_id,nome FROM user ORDER BY nome",$conn);
    while($row=mysql_fetch_array($query)){
          echo "<option value='$row[user_id]'>$row[nome]</option>";
    }?>
</select>

数据表 (HTML) 代码:

<table class="table table-striped" id="prova">
<thead>
<tr>
<th>User</th>
<th>Comune</th>
<th>Mail</th>
<th>Stato</th>
</tr>
</thead>
<tbody>
</tbody>
</table>

DataTable (JS) 代码

$(document).ready(function() {
var oTable = $('#prova').dataTable( {
  "processing": true,
  "serverSide": true,
  "ajax": {
       "url": "scripts/server_processing.php",
       "data": {
          "user_id": null //set to show empty DataTable
       }
   },
});

$('#selezione_user').change(function() {
     aoData.push({
     "user_id": this.value            
})
}); 
}); 

但是上面的代码不起作用,这个问题让我发疯,我希望有人能帮助我。 谢谢大家。 贾科莫。

编辑

我通过删除 data: 并以这种方式更改 DataTables(JQuery) 函数解决了我的问题:

    $('#selezione_centri').change(function() {
     var valore = this.value;
     var string = ('scripts/server_processing.php?id_professionista='+valore);
     table.ajax.url(string).load();
     table.reload();
}); 

【问题讨论】:

    标签: javascript php jquery datatable


    【解决方案1】:

    我认为你应该检查该行

    echo "<option value='$row[user_id]'>$row[nome]</option>";
    

    试试改成

    echo "<option value='".$row["user_id"]."'>".$row["nome"]."</option>";
    

    这里有点解释:Accessing arrays whitout quoting the key ,需要引用 php 数组键。这只是一个远射!

    为了更精确的调试(如果这还不够),你应该提供 php 代码。

    【讨论】:

    • 你是对的。我更正了 PHP 问题,我得到了同样的错误。我可以发布 server_processing.php,但它是一个很长的脚本,它工作正常(如果我静态传递一个 user_id。我认为错误与 aoData.push 相关联。
    • 如果你在aoData.push之后尝试oTable.fnDraw();行会怎样
    • 我解决了我的问题。我编辑了我的帖子,介绍了一种工作方式。谢谢大家。
    猜你喜欢
    • 2010-10-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-05-24
    • 1970-01-01
    • 2013-08-23
    • 2014-05-26
    相关资源
    最近更新 更多