<HTML>
<HEAD>
<TITLE></TITLE>
<SCRIPT LANGUAGE=javascript>
function window.onload(){
init()
}function init(){
var chks=document.all.chk
for(var i=0;i<chks.length;i++)
chks[i].onclick=validate
}
function validate(){
var sCur=this.parentElement.previousSibling.outerText
var chks=document.all.chk
if (this.checked){
for(var i=0;i<chks.length;i++){
if (chks[i].checked==true){
sSel=chks[i].parentElement.previousSibling.outerText
if (sCur!=sSel){
alert("请选择相同的单位")
this.checked=false
break
}
}
}
}
}
</SCRIPT></HEAD>
<BODY><table>
<tr>
<th>单位</th><th></th>
</tr>
<tr>
<td>A</td><td id=td0><input type=checkbox id=chk></td>
</tr>
<tr>
<td>B</td><td><input type=checkbox id=chk></td>
</tr>
<tr>
<td>B</td><td><input type=checkbox id=chk></td>
</tr>
<tr>
<td>A</td><td><input type=checkbox id=chk></td>
</tr>
</table></BODY>
</HTML>
<HEAD>
<TITLE></TITLE>
<SCRIPT LANGUAGE=javascript>
function window.onload(){
init()
}function init(){
var chks=document.all.chk
for(var i=0;i<chks.length;i++)
chks[i].onclick=validate
}
function validate(){
var sCur=this.parentElement.previousSibling.outerText
var chks=document.all.chk
if (this.checked){
for(var i=0;i<chks.length;i++){
if (chks[i].checked==true){
sSel=chks[i].parentElement.previousSibling.outerText
if (sCur!=sSel){
alert("请选择相同的单位")
this.checked=false
break
}
}
}
}
}
</SCRIPT></HEAD>
<BODY><table>
<tr>
<th>单位</th><th></th>
</tr>
<tr>
<td>A</td><td id=td0><input type=checkbox id=chk></td>
</tr>
<tr>
<td>B</td><td><input type=checkbox id=chk></td>
</tr>
<tr>
<td>B</td><td><input type=checkbox id=chk></td>
</tr>
<tr>
<td>A</td><td><input type=checkbox id=chk></td>
</tr>
</table></BODY>
</HTML>
解决方案 »
- 网页中怎么样判断用户输入的是不是数字和字母
- jquery的filetree怎样才能自动收起节点?
- Ext js 3.3 组件readOnly属性设置为true的问题
- 请帮助 js实现鼠标移动到文字显示图片
- 怎样在网页中播放视频,
- SELECT 选择框中如何在文本域插入BUTTON
- 好困惑,现在使用IE6sp1后,无法改变窗口的大小了,怎么解决?
- 关于按钮的问题……
- ASP.NET Ajax 客户端框架未能加载
- [煎蛋的问题]jquery.mobile打开一个页面直接出现data-rel="dialog"页?
- 怎样在jsp页面中接收一个页面传来的参数
- 请教高手,点击按钮,让select的选项自动跳到下一项(急急急急急online)
<tr><td>日期 <td>单位<td>付款
<tr><td>2002-05-09<td>A<td><input type=checkbox>
<tr><td>2002-05-10<td>B<td><input type=checkbox>
<tr><td>2002-05-11<td>A<td><input type=checkbox>
</table>
<script>
var p="",c=0;
function demo.onclick(){
var obj=event.srcElement;
if(obj.type!="checkbox")return;
var objs=demo.all.tags("input")
for(i=0;i<objs.length;i++)
if(objs[i].type=="checkbox"&&objs[i].checked==true){
if(objs[i].parentElement.previousSibling.innerText!=obj.parentElement.previousSibling.innerText){alert("error");return false;}
}
return true;
}
</script>
function doselect(para){
chku = eval("document.all.u"+para+".innerText") ;
chkObj = document.all.chk ;
chkLen = chkObj.length ;
for (i=0;i<chkLen;i++){
if (chkObj[i].checked){
oldChk = eval("document.all.u"+i+".innerText") ;
if (chku != oldChk){
alert("您选择的不是一个单位的数据,不能同时付款!") ;
eval("document.all.chk["+para+"].checked = false") ;
return ;
}
}
}
}
</script>
<BODY BGCOLOR="#FFFFFF">
<table border="1" id="tab1">
<tr><td>日期</td><td>单位</td><td>付款</td></tr>
<tr><td>2002-05-09</td><td id="u0">A</td><td><input type="checkbox" name="chk" onclick="doselect('0');"></td></tr>
<tr><td>2002-05-10</td><td id="u1">B</td><td><input type="checkbox" name="chk" onclick="doselect('1');"></td></tr>
<tr><td>2002-05-11</td><td id="u2">A</td><td><input type="checkbox" name="chk" onclick="doselect('2');"></td></tr></BODY>
我还想请教一个问题。sunbeamy(阳光灿烂的深夜) 和Andrawu(Andrawu) 我都试了,都可以实现。但我想问一个如果chk的名字不能该如何获得object啊?!
我还想请教一个问题。sunbeamy(阳光灿烂的深夜) 和Andrawu(Andrawu) 的程序我都试了,都可以实现。但我想问一下如果chk的名字不同(box1,box2……boxn)该如何获得object啊?!
----------------------------------------------------------
另外我这里只是为了书写方便,如果你的chk的名字不同可以采用秋水无痕的方法,也可以用其他的方法如果名字是像你的例子一样有规律可寻,并且知道最大的个数那么可以用下面的方法来得到object
var chks=new Array()
for (var i=0;i<n;i++)
chks[i]=document.getElementByName("box"+i)
或chks[i]=document.getElementById("box"+i)
或直接用chks[i]=eval("box"+i)
Using the DOM: var aDivs = document.body.getElementsByTagName("INPUT");
然后用type判断是否是checkbox有可能卷入无关的checkbox发生事件
建议和name或id一起用
用上面你的方法,然后调demo.all.tags("input")可能好些....