一个表中有很多<td>,现在我想在单这个td时,用js去找出这个td内的所有checkbox,并选中它,在td没有ID的情况能实现这个功能吗?如果不能,那么我可以给td加个ID,只要实现这个功能就好了,谢谢!
完整Demo:
<!DOCTYPE html>
<html>
<head>
<title>Demo</title>
<meta charset="utf-8"/>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js" type="text/javascript"></script>
<script type="text/javascript">
$(function(){
$("#test td").each(function(index,item){
$(item).click(function(){
$("input[type='checkbox']",$(item)).each(function(ckindex,ckitem){
if(!$(ckitem).is(":checked")){
//jQuery 1.5 and below
$(ckitem).attr("checked","checked");
//jQuery 1.6+
//$(ckitem).prop("checked",true);
}
});
});
});
});
</script>
<style type="text/css">
table{
border-collapse:collapse;
}
td{
background:#EEE;
border:1px solid #CCC;
padding:20px;
}
</style>
</head>
<body>
<table id="test">
<tr>
<td>
<input type="checkbox" id="1" value="A"/>A
<input type="checkbox" id="2" value="B"/>B
</td>
<td>
<input type="checkbox" id="3" value="C"/>C
<input type="checkbox" id="4" value="D"/>D
</td>
</tr>
<tr>
<td>
<input type="checkbox" id="5" value="E"/>E
<input type="checkbox" id="6" value="F"/>F
</td>
<td>
<input type="checkbox" id="7" value="G"/>G
<input type="checkbox" id="8" value="H"/>H
</td>
</tr>
</table>
</body>
</html>
在线演示:http://jscode.chinacxy.com/code/6e6cab880cf6941ced99ebaf47e81486.aspx
$("tr:odd :checkbox").attr("checked","checked"); 测试通过
@無限遐想: 问题中没表达清楚,我估计是单击这个td,而不是索引为单数的td
@artwl: 你绑定一个事件就好了哦
@無限遐想: 是的,关键对需求不是很明白
@artwl: <script type="text/javascript">
$(document).ready(function(){
$("td").click(function(){
$(this).find(":checkbox").attr("checked","checked");
});
});
</script>
@無限遐想:
嗯,这样写很更简洁,但有两点要注意:
1、最好限定一个范围,这样全页面查找很可能会在以后更改页面时出现问题(在其他地方添加一个表格,表格中含有checkbox)
2、如果是点击选中的话很可能有再次点击取消选中的需求,所以我那样写在有这种需求时改起来很简单
$("td:odd")
$("td:odd
:checkbox").attr("checked","checked");
$("tr:odd :checkbox").attr("checked","checked"); 测试通过