改进的CheckBox模板列实现单选的方法
2006-05-14 16:26
351 查看
函数代码(Javascript):
function SetCheckBoxState(id)
{
var dom=document.getElementsByTagName("INPUT"); //文档中的所有Input元素
var el=event.srcElement;//触发事件的本元素
if(el.tagName=="INPUT"&&el.type.toLowerCase()=="checkbox")//如果本元素是checkbox
{
for(i=0;i<dom.length;i++)
{
if(dom[i].type.toLowerCase()=="checkbox"&&dom[i].id.indexOf(id)>-1)
{
//将同一列的所有其它checkbox的checked设为false
if (el.id!=dom[i].id)
{
dom[i].checked=false;
}
}
}
}
}
本函数根据网友所写修改而来。改进之处有:
1.引入参数id即模板列里checkbox的id,增加了对此id的判断以区分页面中有多个CheckBox列的情形。
2.缩小了遍历的范围,提高了执行效率。
3.解决不能取消选择的问题。
使用时,只要在gridview绑定数据后给checkbox加上事件就可以,如:
for (int i = 0; i < GridView1.Rows.Count; i++)
{
CheckBox cb = (CheckBox)GridView1.Rows[i].FindControl("CheckBox1");
cb.Attributes.Add("OnClick", "SetCheckBoxState('CheckBox1')");
}
function SetCheckBoxState(id)
{
var dom=document.getElementsByTagName("INPUT"); //文档中的所有Input元素
var el=event.srcElement;//触发事件的本元素
if(el.tagName=="INPUT"&&el.type.toLowerCase()=="checkbox")//如果本元素是checkbox
{
for(i=0;i<dom.length;i++)
{
if(dom[i].type.toLowerCase()=="checkbox"&&dom[i].id.indexOf(id)>-1)
{
//将同一列的所有其它checkbox的checked设为false
if (el.id!=dom[i].id)
{
dom[i].checked=false;
}
}
}
}
}
本函数根据网友所写修改而来。改进之处有:
1.引入参数id即模板列里checkbox的id,增加了对此id的判断以区分页面中有多个CheckBox列的情形。
2.缩小了遍历的范围,提高了执行效率。
3.解决不能取消选择的问题。
使用时,只要在gridview绑定数据后给checkbox加上事件就可以,如:
for (int i = 0; i < GridView1.Rows.Count; i++)
{
CheckBox cb = (CheckBox)GridView1.Rows[i].FindControl("CheckBox1");
cb.Attributes.Add("OnClick", "SetCheckBoxState('CheckBox1')");
}
相关文章推荐
- listView和checkbox实现单选 ,多选 最简便方法
- 用js方法实现CheckBoxList单选功能
- 实现gridview中checkbox 模板列单选操作和.cs中判断checkbox是否选中
- 单选按钮RadioGroup、复选框CheckBox的OnCheckedChangeListener事件的实现方法
- 使用JavaScript实现CheckBoxList单选两种方法
- 行为模式之模板方法模式(Template Pattern)C++实现
- Jquery 实现checkbox全选方法
- Groovy探索之闭包 七 使用闭包来实现模板方法模式
- 基于一种改进的提取形状特征向量方法,实现图像检索
- Symfony实现行为和模板中取得request参数的方法
- Jquery学习之路(一) 实现checkbox全选方法
- DataGrid中加入CheckBox实现单选
- GridView中CheckBox实现全选或反选功能的方法
- 使用系统自带CheckBox实现单选效果的2个线性布局切换
- Android 使用CheckBox实现ListView自定义单选
- C++模板实现的通用工厂方法模式
- JQuery实现三大控件方法,(下拉,单选,复选)
- 库存数量控制中储备定额方法的改进与实现
- Jquery EasyUI实现treegrid上显示checkbox并取选定值的方法
- 解决Android在listview添加checkbox实现单选多选操作问题