发布网友
共3个回答
热心网友
是你自己把每行</tr>都错写成<tr>,应该改成这样:
<html><title>TestTable</title>
<body>
<table border="1" cellpadding="0" cellspacing="0" bordercolor="black">
<tr><td>UUID</td><td>UserGroup</td><td>UserName</td><td>Password</td></tr>
<tr><td>1</td><td rowspan="6">members</td><td>Linda</td><td>13579</td></tr>
<tr><td>2</td><td>Jane</td><td>24680</td></tr>
<tr><td>3</td><td>Mike</td><td>157921</td></tr>
<tr><td>4</td><td>master</td><td>admin</td><td>11234</td></tr>
</table>
</body>
</html>
热心网友
从图看,可以根据button取,只给点击编辑按钮时示例,如下
<!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>
<script type='text/javascript' src="js/jquery-1.4.4.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$("button").click(function(){
$.each($(this).parent().siblings(":not(:first)"),function(){
$(this).html("<input type=\"text\" value=\"" + $(this).html() + "\" />");
});
});
});
</script>
</head>
<body>
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td>1</td>
<td>a</td>
<td>b</td>
<td>c</td>
<td>d</td>
<td>e</td>
<td><button>edit</button></td>
</tr>
<tr>
<td>2</td>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
<td><button>edit</button></td>
</tr>
</table>
</body>
</html>
热心网友
有几种方式可以实现你的预期:
1. 直接返回当前tr下面所有的td,然后取你想要的具体的列。
var tds = $(this).parent("tr").find("td");
这个tds是个集合,分别调用 tds.eq(0) tds.eq(1) ... 就是你要的具体的列。
2. 既然你这个列数是不固定的,应该是动态语言生成的对吧,
可以在生成的时候给你想要处理的td加个id,例如 id="row1_1", id="row1_2", id="row2_1"之类的。
然后用jQ这样取:var tds = $("td[id^='row'+i),这里的i就是你要的行,
可以通过点击button时获取(因为button上你也会在生成的时候加属性)。
如果想直接拿到具体td,还可以 var td = $("row"+i+j);
这里的i j也是点击button传入的。
其实方法还有很多,看个人使用习惯了。
热心网友
从图看,可以根据button取,只给点击编辑按钮时示例,如下
<!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>
<script type='text/javascript' src="js/jquery-1.4.4.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$("button").click(function(){
$.each($(this).parent().siblings(":not(:first)"),function(){
$(this).html("<input type=\"text\" value=\"" + $(this).html() + "\" />");
});
});
});
</script>
</head>
<body>
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td>1</td>
<td>a</td>
<td>b</td>
<td>c</td>
<td>d</td>
<td>e</td>
<td><button>edit</button></td>
</tr>
<tr>
<td>2</td>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
<td><button>edit</button></td>
</tr>
</table>
</body>
</html>
热心网友
是你自己把每行</tr>都错写成<tr>,应该改成这样:
<html><title>TestTable</title>
<body>
<table border="1" cellpadding="0" cellspacing="0" bordercolor="black">
<tr><td>UUID</td><td>UserGroup</td><td>UserName</td><td>Password</td></tr>
<tr><td>1</td><td rowspan="6">members</td><td>Linda</td><td>13579</td></tr>
<tr><td>2</td><td>Jane</td><td>24680</td></tr>
<tr><td>3</td><td>Mike</td><td>157921</td></tr>
<tr><td>4</td><td>master</td><td>admin</td><td>11234</td></tr>
</table>
</body>
</html>
热心网友
有几种方式可以实现你的预期:
1. 直接返回当前tr下面所有的td,然后取你想要的具体的列。
var tds = $(this).parent("tr").find("td");
这个tds是个集合,分别调用 tds.eq(0) tds.eq(1) ... 就是你要的具体的列。
2. 既然你这个列数是不固定的,应该是动态语言生成的对吧,
可以在生成的时候给你想要处理的td加个id,例如 id="row1_1", id="row1_2", id="row2_1"之类的。
然后用jQ这样取:var tds = $("td[id^='row'+i),这里的i就是你要的行,
可以通过点击button时获取(因为button上你也会在生成的时候加属性)。
如果想直接拿到具体td,还可以 var td = $("row"+i+j);
这里的i j也是点击button传入的。
其实方法还有很多,看个人使用习惯了。