作者:平凡點滴【一凡】
<HTML>
<HEAD>
<META NAME="AUTHOUR" Content="DANNY KANG">
<META NAME="CreateDate" Content="2004-10-28">
<META NAME="Keywords" Content="DANNY KANG,DannyKang,DK,[DK],pizz">
<META http-equiv=content-type content="text/html; charset=gb2312">
<SCRIPT language=javascript>
//'+--------------------------------------------
//'+ FileName:
//'+ Created : 2004-10-28 .by pizz [DK]
//'+ Modified: 2004-10-28 .by pizz [DK]
//'+ FuncDesc: 使用ASP與JAVASCRIPT配合實作多個複選框資料關聯顯示
//'+ www.downcodes.com
//'+---------------------------------------------
/ /第一個複選框的內容
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>