解决方案 »
- 滑动门导航条,但是现在点击各个页面,导航条显示不正确!请高手进来看看!
- 请问这样怎么做。。
- 如何用js 在图片上画个矩形
- (fckeditor):The server didn't send 的疑惑
- 求教一方法:把一段有文字格式文字去掉格式,但要保留分段,行距和段落缩进要保留。
- 我的一个JS方法问题,为什么我动态添加一个<img>出现了下面的问题
- java.lang.NoClassDefFoundError: JspException 求大神帮忙
- 十万火急!请各路大侠拔刀相助!如何屏蔽掉IE里头的后退键?
- csdn的问题?
- 格式化一个数值数据保留两位小数的函数有吗?
- 请问Chrome如何支持新的SSE事件?
- 光标移动的太快,菜单就出问题了。。怎么解决啊 ?
<!DOCTYPE HTML>
<html>
<head>
<meta charset="gb2312" />
<title></title> <style>
</style>
</head>
<body>
全选<input id="all" type="checkbox" value="全选" />
<br />
<input name="product" type="checkbox" value="1" />
<input name="product" type="checkbox" value="2" />
<input name="product" type="checkbox" value="3" />
<input name="product" type="checkbox" value="4" />
<script>
;(function(){
var all = document.getElementById('all');
var objs = document.getElementsByName('product');
var len = objs.length;
document.onclick = function(e){
e = window.event || e;
var t = e.srcElement || e.target;
var name = t.tagName.toLowerCase();
if( name == 'input' && t.type == 'checkbox' ){
if( t.id == 'all' ){
var flag = t.checked;
for(var i = 0; i < len; i++){
if( flag ){
objs[i].checked = true;
}else{
objs[i].checked = false;
}
}
}else if( t.name == 'product' ){
var count = 0;
for(var i = 0; i < len; i++){
if( objs[i].checked ){
count++;
}
}
if( count == len ){
all.checked = true;
}else{
all.checked = false;
}
}
}
}
})();
</script>
</body>
</html>这个意思?
{
var getall=document.getElementById("all");
var getproduct=document.getElementsByName("product");
for(i=0;i<getproduct.length;i++)
{
//if(getall.checked==true)
//getproduct[i].checked=true;
//else
//getproduct[i].checked=false;
getproduct[i].checked = getall.checked;
}
}function judgethechoice()
{
var getall=document.getElementById("all");
var getproduct=document.getElementsByName("product");
for(i=0;i<getproduct.length;i++)
{
if(getproduct[i].checked==false)
getall.checked=false;
if(getproduct[i].checked==true&&getall.checked==false)
// 这儿有bug,现在的结果是只要最后一个选项被选了,“all”就会被选上。
// 和前面其它选项的状态无关
getall.checked=true;
}
}function reverse() {
var getall=document.getElementById("all");
var getproduct=document.getElementsByName("product");
getall.checked = true;
for (var i=0;i<getproduct.length;i++) {
var newvalue = !getproduct[i].checked;
getproduct[i].checked = newvalue;
getall.checked = getall.checked && newvalue;
}
}
function choiceall()
{
var getall=document.getElementById("all");
var getproduct=document.getElementsByName("product");
for(i=0;i<getproduct.length;i++)
{
//if(getall.checked==true)
//getproduct[i].checked=true;
//else
//getproduct[i].checked=false;
// 一帮小弟叫嚣着:“不管老大是对是错,老大的选择就是我的选择。”
getproduct[i].checked = getall.checked;
}
}
for(i=0;i<getproduct.length;i++)
{
if(getall.checked==true)
getproduct[i].checked=true;
else
getproduct[i].checked=false;
}
你这个代码能实现功能,但是略显繁琐,只要列表选框的checked属性值跟随getall.checked 一起变化就可以了。
<!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>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <script language="javascript" type="text/javascript" src="jquery-1.4.2.min.js"></script>
<body>
<table id="tableId">
<tr>
<td>
<input name="product" type="checkbox" value="1" />
<input name="product" type="checkbox" value="2" />
<input name="product" type="checkbox" value="3" />
<input name="product" type="checkbox" value="4" />
全选按钮:<input name="selectAllOrNot" type="checkbox" onclick="selectAllOrNot(this,'product');"/>
</td>
</tr>
</table>
</body>
<script language="javascript" type="text/javascript">
function selectAllOrNot(){
var targetObject = arguments[0];
var targetName = arguments[1];
var targetList = $("input[name='" + targetName + "']");
targetList.attr("checked", targetObject.checked);
}
</script>
</body>
</html>
if ($(this).attr("checked")) {
$(":checkbox[name='product']").attr("checked", true);
}
else {
$(":checkbox[name='product']").attr("checked", false);
}
});
$(":checkbox[name='product']").bind("click", function () {
var zs = $(":checkbox[name='product']").length; //总数
var xz = $(":checkbox[name='product']:checked").length;
if (xz < zs) {
$("#all").attr("checked", false);
}
else {
$("#all").attr("checked", true);
}
});