JQuery怎么获取动态table的某行某列的值

$("#title").html(html);
for ( var i = 1; i < json2.length; i++) {
var item = json2[i];

shtml += '<tr name="result" id="tr['+i+']">';
shtml += '<td id="td1" height="25" align="left" valign="middle"> '
+ item.EFFECTIVE_DATE + '</td>';
shtml += '<td id="td2" height="25" align="left" valign="middle"> '
+ item.PARA_DESC + '</td>';
shtml += '<td id="td3" height="25" align="left" valign="middle"> '
+ item.DMS_ID + '</td>';
shtml += '<td id="td4" height="25" align="left" valign="middle"> '
+ item.CAR_NUMBER + '</td>';
shtml += '<td id="td5" height="25" align="left" valign="middle"> '
+ item.GPS_ID + '</td>';
shtml += '<td id="td5" height="25" align="left" valign="middle"> '
+ item.DSRCODE + '</td>';
shtml += '<td id="td6" height="25" align="left" valign="middle" > '
+ item.MILEAGE + '</td>';
shtml += '<td id="td7" height="25" align="left" valign="middle"><a href="#" onclick="" > '
+item.PJPTARGET_TOWNCOUNT_DAY+'</a></td>';
shtml += '<td id="td8" height="25" align="left" valign="middle"><a href="#" onclick="" > '
+ item.PJPACTUAL_TOWNCOUNT_DAY + '</a></td>';
shtml += '<td id="td9" height="25" align="left" valign="middle" >  '
+ item.ACTTOWNNUM + '</td>';
shtml += '<td id="td10" height="25" align="left" valign="middle"> '
+ item.TOWNPJP_PERCENT + '</td>';
shtml += '<td id="td11" height="25" align="left" valign="middle"> '
+ item.FARDISTANCE_BYDT + '</td>';
shtml += '<td id="td12" height="25" align="left" valign="middle"> '
+ item.TOWNNAME + '</td>';
shtml += '<td height="25" align="left" valign="middle"><input type="button" onclick=Visittrack('+(i-1)+') value="拜访轨迹" > </td>';
shtml += '</tr>';
}
$("#report").append(shtml);
当我点击‘拜访轨迹’是获取当前行的某一列的值 这个该怎么实现 急用 求指点

嗯… 根据LZ的代码,不太理解输出效果,
不过我修改了部份源码试了一个方法,LZ 你就看看呗

var shtml = '';
for (var i = 1; i < 3; i++) {
var item = 'testing';

shtml += '<tr name="result" id="tr[' + i + ']">';
shtml += '<td id="td1" height="25" align="left" valign="middle"> ' + item.EFFECTIVE_DATE + '</td>';
shtml += '<td id="td7" height="25" align="left" valign="middle"><a href="#" onclick="" > ' + item.PJPTARGET_TOWNCOUNT_DAY + '</a></td>';
shtml += '<td id="td8" height="25" align="left" valign="middle"><a href="#" onclick="" > ' + item.PJPACTUAL_TOWNCOUNT_DAY + '</a></td>';
shtml += '<td id="td9" height="25" align="left" valign="middle" > ' + item.ACTTOWNNUM + '</td>';
shtml += '<td id="td10" height="25" align="left" valign="middle"> ' + item.TOWNPJP_PERCENT + '</td>';
shtml += '<td id="td11" height="25" align="left" valign="middle"> ' + item.FARDISTANCE_BYDT + '</td>';
shtml += '<td id="td12" height="25" align="left" valign="middle"> ' + item.TOWNNAME + '</td>';
shtml += '<td height="25" align="left" valign="middle"><input type="button" class="visittrack" value="拜访轨迹" > </td>';
shtml += '</tr>';
}
$("#report").append(shtml);

$('input.visittrack').click(function() {
var $thisTR = $(this).parents('tr');
var thisTR_ID = $thisTR.attr('id');
$thisTR.css({
background: '#0cc'
});

var td10_val = $thisTR.find('#td10').text();

alert(thisTR_ID);
});​追问

效果如图 注意是动态table哦。。

追答

动态如何影响了?TD 的 id 不一样是吗?LZ 有没有试过我写的测试代码?你把内容修改修改应该可以用

是否动态只是在 for 的设置改成你需要的 JSON 而已
把 INPUT 改用 Class 取代 onClick,还有下面 JS click() 才是重点

还有一个更优化的方法是使用 JQuery 的 delegate (也就是 1.7.2 的 .on)
$('table').delegate('input.visittrack', 'click', function() {
var btn = $(this);
var thisTR = btn.parents('tr');
var thisTR_id = thisTR.attr('id');

$('#'+thisTR_id).find('td').each(function(i){
var thisTD = $(this);
var thisTD_id = thisTD.attr('id');
var thisTD_data = thisTD.text();
alert(thisTD_data);
// 应该会出现很多值
});
});​

还有不明白的地方吗?:)

温馨提示:内容为网友见解,仅供参考
第1个回答  2012-04-24
希望对你有帮助。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
<script type="text/javascript" src="js/jquery-1.6.2.min.js"></script>
<script type="text/javascript">
$(function(){
$(".button").bind("click",function(){
alert($(this).closest("tr").find("td").eq(0).text());
});
});

</script>
</head>

<body>
<table>
<tr>
<td>1</td>
<td>2</td>
<td>3</td>
<td>4</td>
<td>5</td>
<td>6</td>
<td><input type="button" class="button" value="拜访轨迹" /></td>
</tr>
<tr>
<td>7</td>
<td>8</td>
<td>9</td>
<td>10</td>
<td>11</td>
<td>12</td>
<td><input type="button" class="button" value="拜访轨迹" /></td>
</tr>
</table>
</body>
</html>本回答被网友采纳
第2个回答  2015-07-22
$(function(){
    var obj = $("tr");
    $.each(obj,function(k,v) {
        //k+1 如果你要获取第5列
        if(k+1 == 5) {
            var aa = $(this);//这样就好了
        }
    })
});

第3个回答  2012-04-27
$("#report tr input").click(function(){
alert($(this).parent("tr").eq(0).text());
});

jquery.fn.eq(index) index 单元格序号 从0开始

jquery怎么获取table中某一行的值
<tr><td>7<\/td><td>8<\/td><td>9<\/td><\/tr> <\/table> <\/div> 第<input type="text" name="row">行,第<input type="text" name="col">列<input type="button" class="btn" value="确定"> <\/div> 添加css样式 div.box{width:300px;height:250px;padding:10px 20px;border...

jQuery获取table动态的某行的值
既然是获取TD的值 那就加入td的id为tdv 它的值就为$("#tdv").text();

jquery 怎样获得table里某列的值
css的选择器 nth-child(N) 用于匹配属于其父元素的第 N 个子元素,因此获取table的某列可用如下核心代码 ("table tr").find("td:nth-child(n)"); \/\/ 获取table所有行第一列实例演示:点击按钮获取第一列中含有字符1的行标 创建Html元素 <div class="box"><span>点击按钮获取第一列中含有...

JQuery怎么获取动态table的某行某列的值
不过我修改了部份源码试了一个方法,LZ 你就看看呗 var shtml = '';for (var i = 1; i < 3; i++) { var item = 'testing';shtml += '<tr name="result" id="tr[' + i + ']">';shtml += '<td id="td1" height="25" align="left" valign="middle"> ' + item.EFFE...

怎样用jquery获取table的每一行的某一列,并且改变他的值
行列从0开始计算 jquery获取一个td,一行代码搞定 ('#'+tableID).find('tr:eq('+row+')').find('td:eq('+col+')');你的代码 都没怎么用到jquery呀!!!<head> <script type="text\/javascript" src="https:\/\/code.jquery.com\/jquery-3.3.1.min.js"><\/script><script type="text...

如何动态获取 table 中 td 所在行 和列
jQuery 提供了index()方法用于获取第一个匹配元素相对于其同胞元素的 index 位置(从0开始计数),基本语法为:$(selector).index()。因此当前 tr 的 index 可以得到行数,当前 td 的 index 可以得到列数。实例演示如下: 1、HTML结构 1234 2456 ...

jquery 怎样取得指定某一行每一列的值
("td").each(function(){ \/\/遍历每一个td if($(this).text() == "5" || $(this).text() == "6" ) { \/\/如果这个td的文本值是5或6 alert($(this).text()); \/\/那就执行这里 } });

用jquery 得到选择table 某一行的数据、?
<table> <tr><td>行1列1<\/td><td>行1列2<\/td><td>行1列3<\/td><\/tr> <tr><td>行2列1<\/td><td>行2列2<\/td><td>行2列3<\/td><\/tr> <\/table> 来个点击的 ("table tr").click(function(){ var $this = $(this);\/\/$this就是这个行,你点哪行,哪行就有反应。})...

jquery 一个table中,定位到指定的行
jquery 一个table中定位到某一行的方法如下:jquery使用css3选择器“:nth-child(n)”可以快速选择具有一定规律排列的元素,:nth-child(n) 用于匹配属于其父元素的第 n 个子元素,其中n 可以是数字、关键词或公式。注意:此过滤器的序号是从1开始的 需要IE8以上浏览器支持 下面实例演示——为table...

jquery怎样获得表格选中哪一行的第一个单元格的值,他是在rpt中自动生成...
\/\/获取选中行的ID function getSelectRowFindID(obj){ \/\/this就是触发动作的元素本身,触发函数时传this,getSelectRowFindID(this)\/\/向上一级【parent()】是td,再向上【parent()】是tr ,找到tr的隐藏域或者是单元格绑定的ID var ID= $(obj).parent().parent().find("input:hidden").val(...

相似回答