gridview的全选功能非常常见,常用于批量删除,加入等。。用c#很容易实现,然选一次刷新一次的却很难看。
用javascript实现就可避免刷新了:
<script language="javascript">
function deleteit2(o) //选择要删除的职位
{
var result = getchecknum(o);
if (result <= 0)
{
alert('请选择要删除的职位!');
return false;
}
return confirm("确实要删除么?");
return result;
}
function checkallorno(o)//全选
{
var a = o;
while (true)
{
var a = a.parentElement;
if (a == null)
{
break;
}
if ( a == "undefined")
{
a = null;
break;
}
if (a.tagName == "TABLE")
{
break;
}
}
if (a != null) {
for (i = 0;i < a.rows.length; i++)
{
for (j = 0;j < a.rows[i].cells[0].children.length; j++)
{
var var1 = a.rows[i].cells[0].children[j];
if (var1.tagName == "INPUT" )
{
if (var1.type == "checkbox")
{
var1.checked = o.checked;
}
}
}
}
}
}
function getchecknum(frm) //统计所选的项的数目
{
var result = 0;
var checkboxnum = 0;
for (var i = 0; i < frm.length; i++)
{
if (frm.elements[i].type == "checkbox")
{
checkboxnum++;
//第一个为全选,不计算
if (checkboxnum > 1)
{
if (frm.elements[i].checked)
{
result++;
}
}
}
}
return result;
}
</script>