日期:2014-05-19  浏览次数:20571 次

在gridview里判断checkbox是否选择
gridview里有一列checkbox,请问怎样在页面提交时判断这列checkbox是否有选择的?
这些checkbox名字和id都不一样的
最好可以用javascript判断

------解决方案--------------------
//=======================================删除确认
function CheckGridSend(objname)
{
var a= document.getElementsByTagName( "INPUT ");
var j=0,k=0,h=0;
for(i=0;i <a.length;i++)
{
if(objname!= " ")
{
if(a[i].type== "checkbox " && a[i].name!=objname)
{
k++;
h++;
if(a[i].checked==true)
j++;
}
}
else
{
if(a[i].type== "checkbox ")
{
k++;
h++;
if(a[i].checked==true)
j++;
}
}
}
if(j==0&&k!=0)
{
window.alert( "请选择要删除的项! ");
return false;
}
if ( h==0 )
{
window.alert( "没有数据可删除! ");
return false;
}
return confirm( "确定要删除? ");

}

//======================================全选
function selectall(objname){
for(i=1;i <window.document.form1.elements.length;i++){
var e=window.document.form1.elements[i];
if(e.type== "checkbox "){
if(document.all[objname].checked){
if(e.disabled != true)e.checked=true;
}
else e.checked=false;
}
}
}

//==================================修改
function CheckEdit()
{

var a= document.getElementsByTagName( "INPUT ")
var j=0,k=0;
for(i=0;i <a.length;i++)
{
if(a[i].type== "checkbox ")
{
k++;

if(a[i].checked==true)
j++;
}
}
if ( k==0 )
{
window.alert( "没有数据可选择! ");
return false;
}
if(j==0&&k!=0)
{
window.alert( "请选择要操作的项! ");
return false;
}
if(k!=0&&j> 1)
{
for(i=0;i <a.length;i++)
{
if(a[i].type && a[i].type== "checkbox ")
{
a[i].checked = false;
}
}
window.alert( "不能选择多项进行编辑请从新选择一项! ");
return false;
}


}
------解决方案--------------------

如果在模板列里面,则checkbox的id是自己的嵌套命名的,送楼主一套自己使用的js方法

/**************************************************************
* 全部选中GridView中的CheckBox列(指定checkBox的ID)
*
* @param gridViewName GridView控件ID:
* @param checkBoxName 模版列中的CheckBox控件ID:
*
**************************************************************/
function CheckAllWithcheckBoxName( gridViewName, checkBoxName )
{
//查找gridview的模式匹配字符串
var RegString = new RegExp( "(.*?) " + gridViewName + "(.*?) ");

for(i = 0; i < document.all.length; i = i + 1)
{
if (RegString.test(document.all[i].id))
{
//获取查找到的gridVie