您的位置:首页 > Web前端 > JavaScript

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

2008-05-01 06:15 573 查看
今天在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>
(出处:viphot)

<
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐