当前位置:编程学习 > asp >>

使用ASP与javascript配合实现多个复选框数据关联显示

答案:今天在CSDN上看到一提问:http://community.csdn.net/Expert/topic/3496/3496350.xml?temp=.4479639 。
应楼主要求,特写一段实现代码如下。

<!----------------------------------------------------------------------------------------------->
<HTML>
<HEAD>
<META NAME="AUTHOUR" Content="DANNY KANG">
<META NAME="CreateDate" Content="2004-10-28">
<META NAME="Keywords" Content="DANNY KANG,DannyKang,DK,[D.K],pizz">
<META http-equiv=content-type content="text/html; charset=gb2312">
<SCRIPT language=javascript>
//'+--------------------------------------------
//'+ FileName:
//'+ Created : 2004-10-28 .by pizz [D.K]
//'+ Modified: 2004-10-28 .by pizz [D.K]
//'+ FuncDesc: 使用ASP与javascript配合实现多个复选框数据关联显示
//'+---------------------------------------------

//第一个复选框的内容
var DK_Array1 = new Array();
/*以下部分,可以使用ASP动态生成*/
DK_Array1[DK_Array1.length]=new Array('1','分类1'); //分类ID,分类名称
DK_Array1[DK_Array1.length]=new Array('2','分类2');
DK_Array1[DK_Array1.length]=new Array('3','分类3');
DK_Array1[DK_Array1.length]=new Array('4','分类4');
DK_Array1[DK_Array1.length]=new Array('5','分类5');
DK_Array1[DK_Array1.length]=new Array('6','分类6');
DK_Array1[DK_Array1.length]=new Array('7','分类7');
DK_Array1[DK_Array1.length]=new Array('8','分类8');
///////////////////////////////////////////////////////

//第三个复选框的内容
var DK_Array3 = new Array();
/*以下部分,可以使用ASP动态生成*/
DK_Array3[DK_Array3.length]=new Array('1','1','小类1.1'); //分类ID,小类ID,小类名称
DK_Array3[DK_Array3.length]=new Array('1','2','小类1.2');
DK_Array3[DK_Array3.length]=new Array('1','3','小类1.3');
DK_Array3[DK_Array3.length]=new Array('2','4','小类2.4');
DK_Array3[DK_Array3.length]=new Array('2','5','小类2.5');
DK_Array3[DK_Array3.length]=new Array('2','6','小类2.6');
DK_Array3[DK_Array3.length]=new Array('2','7','小类2.7');
DK_Array3[DK_Array3.length]=new Array('3','8','小类3.8');
DK_Array3[DK_Array3.length]=new Array('4','9','小类4.9');
DK_Array3[DK_Array3.length]=new Array('4','10','小类4.10');
DK_Array3[DK_Array3.length]=new Array('4','11','小类4.11');
DK_Array3[DK_Array3.length]=new Array('4','12','小类4.12');
DK_Array3[DK_Array3.length]=new Array('5','13','小类5.13');
DK_Array3[DK_Array3.length]=new Array('5','14','小类5.14');
DK_Array3[DK_Array3.length]=new Array('6','15','小类6.15');
DK_Array3[DK_Array3.length]=new Array('6','16','小类6.16');
DK_Array3[DK_Array3.length]=new Array('6','17','小类6.17');
DK_Array3[DK_Array3.length]=new Array('6','18','小类6.18');
DK_Array3[DK_Array3.length]=new Array('6','19','小类6.19');
DK_Array3[DK_Array3.length]=new Array('7','20','小类7.20');
DK_Array3[DK_Array3.length]=new Array('8','21','小类8.21');
DK_Array3[DK_Array3.length]=new Array('8','22','小类8.22');
///////////////////////////////////////////////////////


function DK_AddOnTo(obj,val,txt){ //增加一项
if(DK_CheckExists(obj,val,txt)) {
alert('选项已存在:['+obj.id+']'+'\n Value: '+ val+'\n Text: '+txt);
return;
}
var opt=new Option();
opt.value=val;
opt.text=txt;
obj.options.add(opt,0);
}

function DK_InitListObject(obj,array){//初始化列表
if(array.length){
for(var i=0;i<array.length;i++){
DK_AddOnTo(obj,array[i][0],array[i][1]);
}
}
else {
alert('无数据');
}
}

function DK_AddTo(src,obj){//往指定列表添加选项

for(var i=0;i<src.length;i++){
if(src.options[i].selected){
DK_AddOnTo(obj,src.options[i].value,src.options[i].text);
}
}
}

function DK_SelectAll(obj){ //选中全部选项
for(var i=0;i<obj.length;i++){
obj.options[i].selected = true;
}
}
function DK_ClearAll(obj){//删除全部选项
if(obj.length-1>=0){
for(var i=obj.length-1;i>=0;i--){
obj.remove(i);
}
}
}
function DK_RemoveOne(obj){//删除选定项
for(var i=obj.length-1;i>=0;i--){
if(obj.options[i].selected){
obj.remove(i);
}
}
}

function DK_CheckExists(obj,val,txt){//检查项是否已存在
if(obj.length<0) return false;
for(var i=0;i<obj.length;i++){
if(obj.options[i].value==val && obj.options[i].text==txt) {
return true;
}
}
return false;
}

function DK_ListTo(src,obj,array){//显示子类
if(array.length){
var j=0;
for(var i=0;i<src.length;i++){
if(src.options[i].selected){
j+=DK_AddSpecList(src.options[i].value,array,obj);
}
}
alert('共发现'+j+'个小类。');
}
else {
alert('无数据');
}
}

function DK_AddSpecList(classid,array,obj){//搜索子类
var j=0;
for(var i=0;i<array.length;i++){
if(array[i][0]==classid){
DK_AddOnTo(obj,array[i][1],array[i][2]);
j++;
}
}
return j;
}

</SCRIPT>
<STYLE type=text/css></STYLE>
<TITLE></TITLE>
</HEAD>
<BODY>
<table>
<tr><td colspan=4><input type=button value='初始化复选框一' onclick='DK_InitListObject(select1,DK_Array1)'><br><br>
<tr><td>复选框一:<td><select multiple id=select1 size=8></select>
<td><input type=button value='添加' onclick='DK_AddTo(select1,select2)'> ==>
<td>复选框二:<br><== <input type=button value='删除' onclick='DK_RemoveOne(select2)'>
<input type=button value='全删' onclick='DK_ClearAll(select2)'>
<td><select multiple id=select2 size=8></select>
<td><input type=button value='列出相关' onclick='DK_ListTo(select2,select3,DK_Array3)'> ==>
<td>复选框三:<br><== <input type=button value='删除' onclick='DK_RemoveOne(select3)'>
<input type=button value='全删' onclick='DK_ClearAll(select3)'>
<td><select multiple id=select3 size=8></select><br>
</table>
</BODY>
</HTML>
<!----------------------------------------------------------------------------------------------->



上一个:自定义的字符串类型检测函数
下一个:DataGrid常见关注问题解决方案

CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,