
嗯… 根据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>
行和列你可以用变量代替!
请采纳,谢谢!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)