js中的checkbox问题
我想要写个onChangeSelect(id)函数,当全选框选中时,判断下面的checkbox,如果有某个checkbox没有选中则全选框也不选中,如果所有的checkbox都选中了,那么全选框也自动选中。。。该怎么写呢?请高手教教我吧
[解决办法]
1.给所有的子复选框name一样,单击事件一样
2.document.getElementByName(复选框name) 这获取出所有子复选框
3.循环所有复选框,检测每个复选框的 checked 状态,若有一个没选中,则直接break,反之,若循环到最后还没有break,则给父复选框选中
4.至于父复选框的单击事件,也可以用这个循环复制来搞定
子复选款的checked=父复选框的checked
[解决办法]
//是否选择
function check(){
var input = document.getElementsByTagName("input");
for(var i = 0; i < input.length; i ++)
{
if(input[i].type == "checkbox" )
{
if (input[i].checked)
{
document.getElementById("transfer").disabled = false;
//$(".transfer").show();
break;
}else{
document.getElementById("transfer").disabled = true;
//$(".transfer").hide();
}
}
}
}
[解决办法]
$(function() {
$("input[type=checkbox]").bind("click",function() {
if($(this).attr("id")==="all") {
$("input[type=checkbox]").attr("checked",$(this).attr("checked"));
} else {
if($("input[type=checkbox]:checked:not('#all')").size()>=$("input[type=checkbox]").size()-1) {
$("#all").attr("checked",true);
}
else {
$("#all").attr("checked",false);
}
}
});
});
<input type="checkbox" name="a" value="1">
<input type="checkbox" name="a" value="2">
<input type="checkbox" name="a" value="3">
<input type="checkbox" name="a" value="4">
<input type="checkbox" name="all" value=""> 全选
<script type="text/javascript">
var a=document.getElementsByName("a");
var all=document.getElementsByName("all")[0];
for(var i=0;i< a.length;i++){
a[i].onclick=function(){fun()}
}
function fun(){
var temp=true;
for(var i=0;i< a.length;i++){
temp=temp&&a[i].checked;
}
all.checked=temp;
}
all.onclick=function(){
for(var i=0;i< a.length;i++){
a[i].checked=this.checked;
}
}
</script>
}
if(user['isNew']) {
html += '<td><input type="text" id="name1" name="name" value=""></td>';
html += '<td><input type="text" id="birthday1" name="birthday" value=""></td>';
html += '<td><input type="radio" id="radio1" name="gender_'+user['id']+'" value="M" checked="checked"> 男 <input type="radio" id="radio2" name="gender_'+user['id']+'" value="F"> 女</td>';
html += '<td><input type="button" id="save" value="保存" onclick="javascript:saveUser('+user['id']+');"> <input type="button" value="取消" onclick="javascript:cancelEditUser('+user['id']+');"></td>';
} else {
html += '<td>'+user['name']+'</td>';
html += '<td>'+user['birthday']+'</td>';
html += '<td>'+(user['gender'] == 'M' ? '男' : '女') +'</td>';
html += '<td><input type="button" id="change" value="修改" onclick="javascript:editUser('+user['id']+');"></td>';
}
//html += '</tr>';
var b=document.createElement("tr");
b.id='row_'+user['id'];
b.innerHTML=html;
var table = document.getElementsByTagName("table")[0];
var tbody = table.getElementsByTagName("tbody")[0];
tbody.appendChild(b);
}