在动态表字段中创建链接

时间:2016-10-29 12:03:45

标签: javascript jquery ajax

我是Javascript的新手,我正在努力解决这个问题。

我有一个动态jquery表,我的目标是将该表的一行(行数据)超链接到.php页面以进行一些查询。

我的目标是这样的:

例如,在表格中

   data       info         money          name          ID
 20161001   ...           34            test         1010
 20161002   ....          20            dddd          111
 20161003    ...           12            ....        .....

用户可以按20161001或20161002,这将链接到包含当天所有信息的详细表格

我的第一个问题是到达数据数组中的对象。

每当我尝试访问数据时,我会得到类似的东西:[对象,对象,对象,对象,对象,对象,对象,对象,对象,对象,对象]

我可以联系到他们的唯一方法是:

 JSON.stringify(data[i]) 

我做了一个for语句,但是这返回了表中的所有信息,我只需要行中的数据:Data。

对于我的动态表,我得到了以下标题:

    var keys=[];

              for (var key in data[0]) {
                keys.push(key);
                  }

我也尝试将这两种方法结合起来,但没有成功。

我的ajax代码:

$.ajax({
                      type: 'post',
                      url: "data.php",
                      dataType: "json",
                      data: $(this).serialize(),

                      success: function(data) {
                           console.log(data);


                              $('#btn-load').click(function(e) {



                                var keys=[];

                                for (var key in data[0]) {
                                    keys.push(key);
                                }


                                dt = dynamicTable.config('data-table', //id of the table
                                                         keys, //field names
                                                         null, //set to null for field names to be used as header names instead of custom headers
                                                         'no data...');

                                    dt.load(data);
                        });

(包含此页面代码的动态表格: Dynamically update a table using javascript

我需要获取此信息,链接他并将值传递到php页面。

我不知道这种方法是否更合适,如果有人可以给我一些灯,我会很感激。

由于

2 个答案:

答案 0 :(得分:0)

假设您想将行的第一列值传递到您的php函数中,您可以试试这个。

使用事件委派(如您所说的那样。动态表)将点击事件绑定到您的表tr,并在点击时提取第一个td值。

$("#yourTableId").on("click","tr",function(){
   var data = $(this).find("td:eq(0)").text();
   alert(data); //test
});

答案 1 :(得分:-1)

                          $("#data-table").on("click","tr",function(){

                                           var data2  = $(this).find("td:eq(0)").text();


                                           window.open("teste.php?data2="+data2,'_blank','toolbar=0,location=no,menubar=0,height=400,width=400,left=200, top=300');  
                                           console.log (data2);

为Reddy提供帮助。这解决了问题,我通过Window.open传递数据;)