Автор: Ordinary Bits [Ифань]
<HTML>
<ГОЛОВКА>
<META NAME="AUTHOUR" Content="ДЭННИ КАНГ">
<META NAME="CreateDate" Content="2004-10-28">
<META NAME="Keywords" Content="ДЭННИ КАНГ,DannyKang,ДК,[ДК],пицца">
<META http-equiv=content-type content="text/html; charset=gb2312">
<язык SCRIPT=javascript>
//'+---------------------------------------------- ----
//'+ Имя файла:
//'+ Создано: 28 октября 2004 г. .by pizz [DK]
//'+ Изменено: 28.10.2004 .by pizz [DK]
//'+ FuncDesc: используйте ASP и JAVASCRIPT для реализации связанного отображения данных нескольких флажков.
//'+ www.downcodes.com
//'+---------------------------------------------
/ /Содержимое первого флажка
вар DK_Array1 = новый массив();
/*Следующие части могут быть сгенерированы динамически с использованием ASP*/
DK_Array1[DK_Array1.length]=new Array('1','Category 1'); //Идентификатор категории, имя категории
DK_Array1[DK_Array1.length]=новый массив('2','Категория 2');
DK_Array1[DK_Array1.length]=новый массив('3','Категория 3');
DK_Array1[DK_Array1.length]=новый массив('4','Категория 4');
DK_Array1[DK_Array1.length]=новый массив('5','Категория 5');
DK_Array1[DK_Array1.length]=новый массив('6','Категория 6');
DK_Array1[DK_Array1.length]=новый массив('7','Категория 7');
DK_Array1[DK_Array1.length]=новый массив('8','Категория 8');
/////////////////////////////////////////////////// /// /////
//Содержимое третьего флажка
вар DK_Array3 = новый массив ();
/*Следующие части могут быть сгенерированы динамически с использованием ASP*/
DK_Array3[DK_Array3.length]=new Array('1','1','Subclass 1.1'); //Идентификатор категории, идентификатор подкласса, имя подкласса
DK_Array3[DK_Array3.length]=новый массив('1','2','Малый класс 1.2');
DK_Array3[DK_Array3.length]=новый массив('1','3','Малый класс 1.3');
DK_Array3[DK_Array3.length]=новый массив('2','4','Малый класс 2.4');
DK_Array3[DK_Array3.length]=новый массив('2','5','Малый класс 2.5');
DK_Array3[DK_Array3.length]=новый массив('2','6','Малый класс 2.6');
DK_Array3[DK_Array3.length]=новый массив('2','7','Малый класс 2.7');
DK_Array3[DK_Array3.length]=новый массив('3','8','Малый класс 3.8');
DK_Array3[DK_Array3.length]=новый массив('4','9','Малый класс 4.9');
DK_Array3[DK_Array3.length]=новый массив('4','10','Малый класс 4.10');
DK_Array3[DK_Array3.length]=новый массив('4','11','Маленький класс 4.11');
DK_Array3[DK_Array3.length]=новый массив('4','12','Малый класс 4.12');
DK_Array3[DK_Array3.length]=новый массив('5','13','Малый класс 5.13');
DK_Array3[DK_Array3.length]=новый массив('5','14','Малый класс 5.14');
DK_Array3[DK_Array3.length]=новый массив('6','15','Малый класс 6.15');
DK_Array3[DK_Array3.length]=новый массив('6','16','Малый класс 6.16');
DK_Array3[DK_Array3.length]=новый массив('6','17','Малый класс 6.17');
DK_Array3[DK_Array3.length]=новый массив('6','18','Малый класс 6.18');
DK_Array3[DK_Array3.length]=новый массив('6','19','Малый класс 6.19');
DK_Array3[DK_Array3.length]=новый массив('7','20','Малый класс 7.20');
DK_Array3[DK_Array3.length]=новый массив('8','21','Малый класс 8.21');
DK_Array3[DK_Array3.length]=новый массив('8','22','Малый класс 8.22');
/////////////////////////////////////////////////// /// /////
function DK_AddOnTo(obj,val,txt){ //Добавляем элемент
если (DK_CheckExists (obj, val, txt)) {
alert('Опция уже существует: ['+obj.id+']'+'n Значение: '+ val+'n Текст: '+txt);
возвращаться;
}
вар opt = новый вариант ();
opt.value = значение;
opt.text=txt;
obj.options.add(opt,0);
}
функция DK_InitListObject(obj,array){//Список инициализации
если (массив.длина){
for(var i=0;i<array.length;i++){
DK_AddOnTo(obj,array[i][0],array[i][1]);
}
}
еще {
Предупреждение('нет данных');
}
}
function DK_AddTo(src,obj){//Добавить параметры в указанный список
for(var i=0;i<src.length;i++){
если (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;
}
}
функция DK_ClearAll(obj){//Удалить все параметры
если(obj.length-1>=0){
for(var i=obj.length-1;i>=0;i--){
объект.удалить (я);
}
}
}
функция DK_RemoveOne(obj){//Удалить выбранный элемент
for(var i=obj.length-1;i>=0;i--){
если (obj.options[i].selected){
объект.удалить (я);
}
}
}
function DK_CheckExists(obj,val,txt){//Проверьте, существует ли элемент уже
if(obj.length<0) возвращает ложь;
for(var i=0;i<obj.length;i++){
if(obj.options[i].value==val && obj.options[i].text==txt) {
вернуть истину;
}
}
вернуть ложь;
}
function DK_ListTo(src,obj,array){//Показать подклассы
если (массив.длина){
вар j=0;
for(var i=0;i<src.length;i++){
если (src.options[i].selected){
j+=DK_AddSpecList(src.options[i].value,array,obj);
}
}
alert('Всего найдено подкатегорий '+j+'.');
}
еще {
Предупреждение('нет данных');
}
}
функция DK_AddSpecList(classid,array,obj){//Поиск подклассов
вар j=0;
for(var i=0;i<array.length;i++){
если (массив [i] [0] == класс) {
DK_AddOnTo(obj,array[i][1],array[i][2]);
j++;
}
}
вернуть j;
}
</СКРИПТ>
<STYLE type=text/css></STYLE>
<TITLE></TITLE>
</HEAD>
<ТЕЛО>
<таблица>
<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='Add' onclick='DK_AddTo(select1,select2)'> ==>
<td>Второй флажок:<br><== <input type=button value='Delete' 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='Delete' onclick='DK_RemoveOne(select3)'>
<input type=button value='Удалить все' onclick='DK_ClearAll(select3)'>
<td><select Multiple id=select3 size=8></select><br>
</таблица>
</ТЕЛО>
</HTML>