不管是使用checkbox实现单选,还是使用图片替换的方式实现单选效果,思路一致:
(1)初始化各个元素,checked置为false。
(2)对于被点击的元素,若checked为true,则把当前元素的checked置为false。(被选中的元素再次被点击,应当取消选中效果的情况)
(3)对于被点击的元素,若checked为false,则把所有元素都重置为false,然后把当前被点击的元素的checked置为true。
true的意思是checkbox 的 checked 属性值,或者有选中效果的图片。
false的意思是checkbox 的 checked 属性值,或者没有选中效果的图片。
第一列为选择框,点击当前行任意位置,实现当前行选择框选中,其他选中框不被选中。
function mainClick(){
$("#tablehz tr").each(function(){
var currentEle = $(this);
currentEle.click(function(){
$("#tablehz").find(":checkbox").not(currentEle).each(function(){
$(this).attr('checked',false);
});
currentEle.find(":checkbox").attr('checked',true);
});
});
}
function mainClick(){
$("#tablehz tr").each(function(){
var currentEle = $(this);
$("#tablehz").find("img").each(function(){
$(this).attr('checked',false);//checked是自定义的属性
$(this).attr('src','../../../../public/themes/default/images/checked1.png');
});
currentEle.click(function(){
if(currentEle.attr('checked')){
currentEle.find("img").attr('src','../../../../public/themes/default/images/checked1.png');
currentEle.attr('checked',false);
}else{
$("#tablehz").find("img").each(function(){
$(this).attr('checked',false);
$(this).attr('src','../../../../public/themes/default/images/checked1.png');
});
currentEle.find("img").attr('src','../../../../public/themes/default/images/checked2.png');
currentEle.attr('checked',true);
}
});
});
}