首页 新闻 会员 周边 捐助

请问js或jquery怎么实现这个简单的功能?

0
[已解决问题] 解决于 2012-03-19 11:14

一个表中有很多<td>,现在我想在单这个td时,用js去找出这个td内的所有checkbox,并选中它,在td没有ID的情况能实现这个功能吗?如果不能,那么我可以给td加个ID,只要实现这个功能就好了,谢谢!

hexllo的主页 hexllo | 菜鸟二级 | 园豆:318
提问于:2012-03-19 09:25
< >
分享
最佳答案
0

完整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

artwl | 专家六级 |园豆:16736 | 2012-03-19 09:47

$("tr:odd  :checkbox").attr("checked","checked"); 测试通过

無限遐想 | 园豆:3740 (老鸟四级) | 2012-03-19 09:50

@無限遐想: 问题中没表达清楚,我估计是单击这个td,而不是索引为单数的td

artwl | 园豆:16736 (专家六级) | 2012-03-19 09:53

@artwl: 你绑定一个事件就好了哦

無限遐想 | 园豆:3740 (老鸟四级) | 2012-03-19 10:31

@無限遐想: 是的,关键对需求不是很明白

artwl | 园豆:16736 (专家六级) | 2012-03-19 10:32

@artwl: <script type="text/javascript">
$(document).ready(function(){
  $("td").click(function(){
    $(this).find(":checkbox").attr("checked","checked");
  });
});
</script>

無限遐想 | 园豆:3740 (老鸟四级) | 2012-03-19 10:35

@無限遐想: 

嗯,这样写很更简洁,但有两点要注意:

1、最好限定一个范围,这样全页面查找很可能会在以后更改页面时出现问题(在其他地方添加一个表格,表格中含有checkbox)

2、如果是点击选中的话很可能有再次点击取消选中的需求,所以我那样写在有这种需求时改起来很简单

artwl | 园豆:16736 (专家六级) | 2012-03-19 10:39
其他回答(2)
0
$("td:odd")
悟行 | 园豆:12559 (专家六级) | 2012-03-19 09:33
0

$("td:odd:checkbox").attr("checked","checked");

無限遐想 | 园豆:3740 (老鸟四级) | 2012-03-19 09:42

 $("tr:odd  :checkbox").attr("checked","checked"); 测试通过

支持(0) 反对(0) 無限遐想 | 园豆:3740 (老鸟四级) | 2012-03-19 09:50
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册