js 复选框 我有以下一个场景.我有多个table.在每一个table里又有多个复选框.我要实现的是每个table中的复选框只能选一个.但也可以一个都不选.table之间的复选框不能相互影响.请问怎么实现. 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 var tables = document.getElementsByTagName("TABLE");for(var i=0;i<tables.length;i++){ var checkboxes = tables[i].getElementsByTagName("INPUT"); var num = 0; for(var j=0;j<checkboxes.length;j++){ if(checkboxes[j].type=="checkbox"){ if(checkboxes[j].checked){ num++; } } } if(num>1){ alert("一个table中不能选择多个!"); }} <script type="text/javascript">function addListener(elem, type, hdl){ if (elem.addEventListener) { elem.addEventListener(type, hdl, false); } else if (elem.attachEvent) { elem.attachEvent('on' + type, hdl); } else { elem['on' + type] = hdl; }}function chk(e){ e = e || window.event; var target = e.target || e.srcElement; var all = document.getElementsByName(target.name); for (var i = 0; i < all.length; i++) { if (all[i] !== target) all[i].checked = false; }}window.onload = function(){ var all = document.getElementsByName('gp1'); for (var i = 0; i < all.length; i++) { addListener(all[i], 'click', chk); }}</script><input type="checkbox" name="gp1"><input type="checkbox" name="gp1"><input type="checkbox" name="gp1"><input type="checkbox" name="gp1"><input type="checkbox" name="gp1"><input type="checkbox" name="gp1"> <script type="text/javascript">function che(_this){ var tab = _this while(tab.tagName.toLowerCase( )!="table")tab=tab.parentNode var obj_check = tab.getElementsByTagName("input"); for (var j=0;j<obj_check.length;j++){ if (obj_check[j].type=="checkbox" && obj_check[j]!=_this)obj_check[j].checked=0 } _this.checked=_this.checked?1:0}function setCheck(){ var obj_tab = document.getElementsByTagName("table"); for(var i=0;i<obj_tab.length;i++){ if (obj_tab[i].id.indexOf("check")!=-1){ var obj_check = obj_tab[i].getElementsByTagName("input"); for (var j=0;j<obj_check.length;j++) if (obj_check[j].type=="checkbox") obj_check[j].onclick=function(){che(this)} } }}window.onload = setCheck</script><table border="1" width="25%" cellspacing="0" cellpadding="0" id=checktab1> <tr> <td> <input type="checkbox" value="" name=""> <input type="checkbox" value="" name=""> <input type="checkbox" value="" name=""> <input type="checkbox" value="" name=""> <input type="checkbox" value="" name=""> <input type="checkbox" value="" name=""> </td> </tr></table><br><table border="1" width="25%" cellspacing="0" cellpadding="0" id=checktab2> <tr> <td> <input type="checkbox" value="" name=""> <input type="checkbox" value="" name=""> <input type="checkbox" value="" name=""> <input type="checkbox" value="" name=""> <input type="checkbox" value="" name=""> <input type="checkbox" value="" name=""> </td> </tr></table> 高分求关于iframe里调用谷歌搜索框,不显示的问题! odd在这里是干什么用的 请问mootools如何自适应iframe的高度 为什么js里拼的串到html里执行不对呢? ff拖动的例子 javascript 控制两个表格的问题, 关于层的显示和隐藏的问题,帮帮忙!急阿!小妹先谢了! 菜鸟再三求救!!!! 如何实现两个计时器? 菜鸟问题,近来就可以拿分。 在input后面动态添加div 求一js在线调用天气的接口
for(var i=0;i<tables.length;i++){
var checkboxes = tables[i].getElementsByTagName("INPUT");
var num = 0;
for(var j=0;j<checkboxes.length;j++){
if(checkboxes[j].type=="checkbox"){
if(checkboxes[j].checked){
num++;
}
}
}
if(num>1){
alert("一个table中不能选择多个!");
}
}
<script type="text/javascript">
function addListener(elem, type, hdl){
if (elem.addEventListener) {
elem.addEventListener(type, hdl, false);
} else if (elem.attachEvent) {
elem.attachEvent('on' + type, hdl);
} else {
elem['on' + type] = hdl;
}
}
function chk(e){
e = e || window.event;
var target = e.target || e.srcElement;
var all = document.getElementsByName(target.name);
for (var i = 0; i < all.length; i++) {
if (all[i] !== target) all[i].checked = false;
}
}
window.onload = function(){
var all = document.getElementsByName('gp1');
for (var i = 0; i < all.length; i++) {
addListener(all[i], 'click', chk);
}
}
</script>
<input type="checkbox" name="gp1">
<input type="checkbox" name="gp1">
<input type="checkbox" name="gp1">
<input type="checkbox" name="gp1">
<input type="checkbox" name="gp1">
<input type="checkbox" name="gp1">
<script type="text/javascript">
function che(_this){
var tab = _this
while(tab.tagName.toLowerCase( )!="table")tab=tab.parentNode
var obj_check = tab.getElementsByTagName("input");
for (var j=0;j<obj_check.length;j++){
if (obj_check[j].type=="checkbox" && obj_check[j]!=_this)obj_check[j].checked=0
}
_this.checked=_this.checked?1:0
}function setCheck(){
var obj_tab = document.getElementsByTagName("table");
for(var i=0;i<obj_tab.length;i++){
if (obj_tab[i].id.indexOf("check")!=-1){
var obj_check = obj_tab[i].getElementsByTagName("input");
for (var j=0;j<obj_check.length;j++)
if (obj_check[j].type=="checkbox")
obj_check[j].onclick=function(){che(this)}
}
}
}
window.onload = setCheck
</script><table border="1" width="25%" cellspacing="0" cellpadding="0" id=checktab1>
<tr>
<td>
<input type="checkbox" value="" name="">
<input type="checkbox" value="" name="">
<input type="checkbox" value="" name="">
<input type="checkbox" value="" name="">
<input type="checkbox" value="" name="">
<input type="checkbox" value="" name="">
</td>
</tr>
</table><br>
<table border="1" width="25%" cellspacing="0" cellpadding="0" id=checktab2>
<tr>
<td>
<input type="checkbox" value="" name="">
<input type="checkbox" value="" name="">
<input type="checkbox" value="" name="">
<input type="checkbox" value="" name="">
<input type="checkbox" value="" name="">
<input type="checkbox" value="" name="">
</td>
</tr>
</table>