我是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页面。
我不知道这种方法是否更合适,如果有人可以给我一些灯,我会很感激。
由于
答案 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传递数据;)