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

$("#title").html(html);for(vari=1;i<json2.length;i++){varitem=json2[i];shtml+='<trnam... $("#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);
当我点击‘拜访轨迹’是获取当前行的某一列的值 这个该怎么实现 急用 求指点
展开
 我来答
cyrilkong
2012-04-24 · TA获得超过1250个赞
知道小有建树答主
回答量:295
采纳率:100%
帮助的人:262万
展开全部
嗯… 根据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);
// 应该会出现很多值
});
});​

还有不明白的地方吗?:)
xlwmin
2012-04-24 · 超过23用户采纳过TA的回答
xlwmin
采纳数:23 获赞数:60

向TA提问 私信TA
展开全部
希望对你有帮助。

<!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>
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
幸驰皓01H
2015-07-22 · TA获得超过192个赞
知道小有建树答主
回答量:174
采纳率:75%
帮助的人:38.3万
展开全部
$(function(){
    var obj = $("tr");
    $.each(obj,function(k,v) {
        //k+1 如果你要获取第5列
        if(k+1 == 5) {
            var aa = $(this);//这样就好了
        }
    })
});
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
jibaohong
2012-04-27
知道答主
回答量:31
采纳率:0%
帮助的人:22万
展开全部
$("#report tr input").click(function(){
alert($(this).parent("tr").eq(0).text());
});

jquery.fn.eq(index) index 单元格序号 从0开始
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式