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

JQuery怎么获取动态table的某行某列的值,第1张

嗯… 根据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"> ' + itemEFFECTIVE_DATE + '</td>';

shtml += '<td id="td7" height="25" align="left" valign="middle"><a href="#" onclick="" > ' + itemPJPTARGET_TOWNCOUNT_DAY + '</a></td>';

shtml += '<td id="td8" height="25" align="left" valign="middle"><a href="#" onclick="" > ' + itemPJPACTUAL_TOWNCOUNT_DAY + '</a></td>';

shtml += '<td id="td9" height="25" align="left" valign="middle" > ' + itemACTTOWNNUM + '</td>';

shtml += '<td id="td10" height="25" align="left" valign="middle"> ' + itemTOWNPJP_PERCENT + '</td>';

shtml += '<td id="td11" height="25" align="left" valign="middle"> ' + itemFARDISTANCE_BYDT + '</td>';

shtml += '<td id="td12" height="25" align="left" valign="middle"> ' + itemTOWNNAME + '</td>';

shtml += '<td height="25" align="left" valign="middle"><input type="button" class="visittrack" value="拜访轨迹" > </td>';

shtml += '</tr>';

}

$("#report")append(shtml);

$('inputvisittrack')click(function() {

var $thisTR = $(this)parents('tr');

var thisTR_ID = $thisTRattr('id');

$thisTRcss({

background: '#0cc'

});

var td10_val = $thisTRfind('#td10')text();

alert(thisTR_ID);

});​

一般都会在后台获得,比如这个表格的数据是用$list这个变量存储的,$list中每个元素都有id date title file四个字段,checkbox的name是id,现在写一个js方法用来将选中的复选框传到后台,需要使用一个按钮触发下面的方法

function fun(){

var arr = new Array();

$(":checked")each(function(){

arr[] = $(this)attr("name");

});

//然后用任意方法将arr传到后台

}

在后台根据传回来的id在$list中获得要你想要的数据。

上面是我觉得最简单的方法。

下面还有一个在页面里获得你要的数据的方法

将每一行数据都写在同一个div里,根据复选框的标示获得对应div内的数据

<div name=“id”>数据, (最后一列)<input type="checkbox" name="id" /></div>

<script>

function fun(){

var arr = new Array();

var name = '';

$(":checked")each(function(){

name = $(this)attr("name");

arr[] = $("div[name=" + name + "]")html();

});

}

</script>

提供你2中思路,具体代码就不写了

生成表的时候给修改链接一个id,id保存当前行的主键比如id="tid"+主键,为它添加onclick方法,

var id=thisidreplace("tid",""); 获取到主键

把主键拿到数据库中查到相应的数据行,赋值给表单,完成!

var parents=$(this)parent()parent();  获得tabel行

$(parents)find("td")each(function(){

    根据列的顺序赋值给相应的表单元素

})

这个方法有局限性,数据是从当前页面中取得并不是实时读取数据库,如果数据在他处有更改是取不到最新的数据的。

<BODY>

<table>

<tr><td>11</td><td >12</td><td>13</td></tr>

<tr><td>21</td><td >22</td><td>23</td></tr>

<tr><td>31</td><td >32</td><td>33</td></tr>

</table>

</BODY>

<script>

// tr:eq(0) 取第一行 td:eq(2) 取第三列

//$("tr:eq(0) td:eq(2)")text() 得到:13

//$("tr:eq(1) td:eq(1)")text() 得到:22

alert($("tr:eq(0) td:eq(2)")text());

</script>

行和列你可以用变量代替!

请采纳,谢谢!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/bake/12186630.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-21
下一篇2023-05-21

发表评论

登录后才能评论

评论列表(0条)

    保存