CheckBoxList 和 DropDownList 的二级联动
来源:互联网 发布:msvcr110.dll软件 编辑:程序博客网 时间:2024/04/28 01:37
<script language="javascript" type="text/javascript">
<!--
// 添加 CheckBoxList 事件
function addAffair()
...{
var checkList = document.getElementById("cblTeamPerson");
var childrens = checkList.getElementsByTagName("input") ;
var count = childrens.length ;
if (count == 0 )
return ;
var checkBox ;
var checkBoxid ;
for (var i = 0 ; i < count ; i ++ )
...{
checkBoxid = "cblTeamPerson_" + i ;
checkBox = document.getElementById(checkBoxid);
checkBox.onclick = function(ev)
...{
checkedAffair((ev || window.event).srcElement || ev.currentTarget);
}
}
}
// 添加 CheckBox 的 onclick 事件
function checkedAffair(checkBoxID)
...{
var checkBox = document.getElementById(checkBoxID.id);
var dropDownList = document.getElementById("ddlTeamLeader");
if (checkBox.checked == true)
...{
var newOption = document.createElement("OPTION") ;
newOption.text = getText(checkBox.id) ;
newOption.value = getValue(checkBox.id) ;
dropDownList.options.add(newOption);
}
else if (checkBox.checked == false)
...{
var strValue = getValue(checkBox.id) ;
var count = dropDownList.options.length ;
var children ;
for (var i = 0 ; i < count ; i ++)
...{
children = dropDownList.options[i].value ;
if (children == strValue)
...{
dropDownList.options.remove(i) ;
}
}
}
}
// Get the event.onclick Text
function getText(checkBoxID)
...{
var checkBoxList = document.getElementById("cblTeamPerson");
var checkbox = checkBoxList.getElementsByTagName("input");
var index = getValue(checkBoxID);
var intIndex = parseInt(index);
alert(checkbox[index].nextSibling.innerHTML);
var value = checkbox[index].nextSibling.innerHTML ;
return value ;
}
// Get the event.onclick Value
function getValue(checkBoxID)
...{
var checkBox = document.getElementById(checkBoxID);
var factLength = checkBox.id.length;
if (factLength == 15)
...{
return checkBox.id.substring(14,15) ;
}
else
...{
return checkBox.id.substring(14,16) ;
}
}
//-->
</script>
<!--
// 添加 CheckBoxList 事件
function addAffair()
...{
var checkList = document.getElementById("cblTeamPerson");
var childrens = checkList.getElementsByTagName("input") ;
var count = childrens.length ;
if (count == 0 )
return ;
var checkBox ;
var checkBoxid ;
for (var i = 0 ; i < count ; i ++ )
...{
checkBoxid = "cblTeamPerson_" + i ;
checkBox = document.getElementById(checkBoxid);
checkBox.onclick = function(ev)
...{
checkedAffair((ev || window.event).srcElement || ev.currentTarget);
}
}
}
// 添加 CheckBox 的 onclick 事件
function checkedAffair(checkBoxID)
...{
var checkBox = document.getElementById(checkBoxID.id);
var dropDownList = document.getElementById("ddlTeamLeader");
if (checkBox.checked == true)
...{
var newOption = document.createElement("OPTION") ;
newOption.text = getText(checkBox.id) ;
newOption.value = getValue(checkBox.id) ;
dropDownList.options.add(newOption);
}
else if (checkBox.checked == false)
...{
var strValue = getValue(checkBox.id) ;
var count = dropDownList.options.length ;
var children ;
for (var i = 0 ; i < count ; i ++)
...{
children = dropDownList.options[i].value ;
if (children == strValue)
...{
dropDownList.options.remove(i) ;
}
}
}
}
// Get the event.onclick Text
function getText(checkBoxID)
...{
var checkBoxList = document.getElementById("cblTeamPerson");
var checkbox = checkBoxList.getElementsByTagName("input");
var index = getValue(checkBoxID);
var intIndex = parseInt(index);
alert(checkbox[index].nextSibling.innerHTML);
var value = checkbox[index].nextSibling.innerHTML ;
return value ;
}
// Get the event.onclick Value
function getValue(checkBoxID)
...{
var checkBox = document.getElementById(checkBoxID);
var factLength = checkBox.id.length;
if (factLength == 15)
...{
return checkBox.id.substring(14,15) ;
}
else
...{
return checkBox.id.substring(14,16) ;
}
}
//-->
</script>
遇到的2个比较严重的问题
1、在addAffair()时,页面生成后给客户端生成的单一的checkbox挂onclick事件,如果直接写成
checkBox.onclick = checkedAffair();是不响应的,这是在调用函数,应该
checkBox.onclick = function(ev) { 函数 }
2、getText(),取不到checkbox的Text,Value貌似确实取不到,改用获取checkbox的ClientID的尾数来记录value的办法,但是getElementById,取到的只是“on”,后来又想根据getElementsByTagName("input")得到checked的index,但是返回的值是undefind,后来又想通过CheckBoxList生成的<table>,用DOM模型来取,依然找不到
解决办法 var value = checkbox[index].nextSibling.innerHTML;
- CheckBoxList 和 DropDownList 的二级联动
- CheckBoxList 和 DropDownList 的二级联动
- MVC dropdownlist二级联动
- Yii2 二级联动 DropDownList
- 操作DropDownList、CheckBoxList和RadioButton的js
- C# DropDownList二级联动问题
- [原创]用SqlDataSource实现DropDownList的二级联动
- C#dropdownlist的二级联动怎么做啊?
- 一个关无DropDownList无刷新二级联动的例子.
- YII widget之dropDownList的二级联动与分组
- DropDownList 和ListBox产生的联动效果
- 实现DropDownList无刷新二级联动
- DropDownList联动不刷新(二级)
- DropDownList无刷新二级联动(.ashx)
- AJAX实现DropDownList无刷新二级联动
- DropDownList无刷新ajax二级联动效果
- Dom和xml的二级联动
- 深圳市地区和街道的二级联动
- PDCAR-对自己进行过程控制
- 如何在ASP.NET下遍历指定页面上所有控件
- 高手
- GRIDVIEW多行选择
- 更改窗口大小 and 窗口size属性
- CheckBoxList 和 DropDownList 的二级联动
- 用JS脚本实现CheckBoxList只能选择其中的两个!
- 计算机族必喝的健康饮品
- 学Quartus II+Verilog三步走checklist
- logic:iterate 标签换行 打印数据
- GridView的操作大全
- 用Quartus II + Verilog 做FPGA/CPLD设计/仿真的几个基本问题(自己总结的,对初学者有效)
- asp.net2.0常用基本函数大全
- OnClick与OnServerClick