3

jquery データテーブルの行にある特定のセルの詳細を取得する際に問題があります。私がやろうとしているのは、Datatable の行の特定のセルに対して、それに固有のすべてのデータを取得して出力として表示しようとしていることです。

たとえば、すべての国名がデータベースから取得され、データテーブルの特定の列に表示されます。今私が欲しいのは、国名をクリックすると、それに対応するすべての都市が表示されることです。それが十分に理にかなっていることを願っています。ページを更新せずに dis を動的に実行する必要があります。

コードの一部を次に示します。

$(document).ready(function() {
oTable = $('#datatables').dataTable( {
    alert("hi")
    "bProcessing": true,
    "bServerSide": true,
    "sAjaxSource": "../getcities.php",
    "aData" : "POST","getcities.php?cname="+cname
    "aoColumns": [
        { "sClass": "center", "bSortable": false },
        null,
        { "sClass": "center" },
    ]
} );

$('#datatables tbody tr td').live( 'click', function () {
    alert("hi")
    var nTr = this.parentNode.parentNode;

    // I need to display the data here in a dialog box
} );
}

私はまだjqueryデータテーブルとAjaxの初心者だと言ったので、上記のコードは完全に正しいとは限りません。私が試しているhtmlは次のとおりです。

<div>                           
<table id = "datatables" class="display">
<thead>
    <tr>
        <th></th>
        <th>Country Name</th>
    </tr>
<thead>
<tbody>
    <?while($row=mysql_fetch_array($result)){
    <tr>                            
        <td class="center" id="cname" value="cname"><?= $row['cname']?></td>
    </tr>
    <?}}?>
</tbody>

getcities.php のコード:

// Here I am trying to store all the cities corresponding to the country name in an array and returning it
<?php
 country = $_POST['cname'];
 var arr = new Array();
 arr = mysql_fetch_array(mysql_query("SELECT cityname FROM dbtable WHERE cname = '.country.'"))

return arr; 
?>

私は Datatables を初めて使用するので、これを実現する方法がわかりません。スクリプト言語としてPHPを使用しています

助けてください

4

1 に答える 1

2

次のコードを試してください

$('#datatables tbody tr td img').live( 'click', function () {
    var iPos = oTable.fnGetPosition( this );
    if(iPos!=null){
        var aData = oTable.fnGetData( iPos );//get data of the clicked row
        var colData = aData[1];//get column data of the row
    }
} );

また、これを見てください: Jqueryデータテーブルで行を選択する方法

于 2012-09-23T07:03:26.783 に答える