将4列的checkbox每列取名一样id也取一样,比如说分别叫chk0,chk1,chk2,chk3,
function fnc()
{
var n=0;//计数器
var theCheck;
for(var i=0;i<4;i++)
{
theCheck = document.getElementsByName("chk"+i );
for(var j=1;theCheck.length;j++)
{
if(theCheck[j].checked)
{
n++;
}
}
if(n==0)
{
alert("每列品牌至少要选择一个!!!"); return false;
}else
{
n=0;
//return true;
}
}
}
搞定,^_^
function fnc()
{
var n=0;//计数器
var theCheck;
for(var i=0;i<4;i++)
{
theCheck = document.getElementsByName("chk"+i );
for(var j=1;theCheck.length;j++)
{
if(theCheck[j].checked)
{
n++;
}
}
if(n==0)
{
alert("每列品牌至少要选择一个!!!"); return false;
}else
{
n=0;
//return true;
}
}
}
搞定,^_^
for(var j=1;theCheck.length;j++)搞错了,应该从0开始的,正确的如下
for(var j=0;theCheck.length;j++)
还有只要每列中的name一样就OK了,id已经无所谓了
如果有18行checkbox,table的行数应该等于18+1(或18+2,看你的实际情
如果有18行checkbox,table的行数应该等于18+1(或18+2,看你的实际情况)
所以,有多少行checkbox,可以根据这个table有多少行来得到。
即checkbox行数=table行数-1
=tableId.rows.length-1
var boxs = document.all.Repeater1.getElementsByTagName("INPUT"); //取得表格里的所有input
for(var i=0; i<boxs.length; i++)
{
if(boxs[i].type=="checkbox" && boxs[i].checked)
{
var n = boxs[i].name.substr(boxs[i].name.length - 1); //相当于你的i
mm[n] = true;
}
}for(var i=0; i<mm.length; i++)
{
if(!mm[i])
{
alert("你的第 "+ i +" 列 checkbox 没有选中!");
}
}
在 .net 里的 DataGrid 里的checkbox 的id与name都不会是相同的, 所以 document.getElementsByName() 是行不通的, 至于通过table行数循环取, 取是可以取, 但是会有些小问题, 这种模板列有可能外面会套上一层 <span>, 感觉也不是很好呀.
收到!我没用过.net,我一般都是在websphere环境下开发的,所以不太清楚.net的情况....
请教这个函数是什么意思 : MID
在每个版块的右上角都有一排:
刷新 | 全文检索 | 搜索 | 提问| 未解决 | 已解决 | 精华区 | FAQ | 专题 | 帮助
其中有一个"提问" 就可以发贴了.mid 是VBScript里的一个字符串截取函数 mid(str, startIndex, length)