标题: JS关于多重下拉选项调配关系的源代码 [打印本页] 作者: tznktg 时间: 2007-10-6 11:36 标题: JS关于多重下拉选项调配关系的源代码 <?php
//////////////////////////////////////////////////////////////////////////////////////////////////////////
//File: modify_personinfo.php
//Author: TZNKTG
//Purpose: This page is modify information of personal
///////////////////////////////////////////////////////////////////////////////////////////////////////////
if (id < 1)
{
mainitem.selectedIndex = 0 ;
var subvalue=mainitem.options[mainitem.selectedIndex].value;
itemCount = catelogCount;
items = catelogs;
var opt=document.createElement("OPTION");
for (i=0;i<itemCount-1; i++)
{
if ((items[2]).substring(0,2) == subvalue.substring(0,2))
{
var opt=document.createElement("OPTION");
if (flag) opt.text=items[i+1][1];
else opt.text=items[i+1][0];
opt.value=items[i+1][2];
document.all.job_id.value = items[i+1][2];
if (opt.value.substring(0,2) == subvalue.substring(0,2)) subitem.add(opt);
}
}
}
else
{
var mi = (''+id).substring(0,2)+'00';
for (k=0; k<mainitem.length; k++)
{
if (mainitem.options[k].value == mi)
mainitem.selectedIndex = k;
}
itemCount = catelogCount;
items = catelogs;
if (id == items[itemCount-1][2])
{
var opt=document.createElement("OPTION");
if (flag) opt.text=items[itemCount-1][1];
else opt.text=items[itemCount-1][0];
opt.value=items[itemCount-1][2];
subitem.add(opt);
return;
}
var prefix = mi.substring(0,2);
var arrval = '';
for (i=0;i<itemCount-1; i++)
{
arrval =items[2].substring(0, 2);
if (arrval == prefix)
{
var opt=document.createElement("OPTION");
if (flag) opt.text=items[i+1][1];
else opt.text=items[i+1][0];
opt.value=items[i+1][2];
arrval =items[i+1][2].substring(0, 2);
if (arrval==prefix) subitem.add(opt);
if (opt.value == id) opt.selected = true;
}
}
}
}作者: tznktg 时间: 2007-10-6 11:39 标题: JS关于多重下拉选项调配关系的源代码[续] ########common.js中selectOnchange函数#########
/**
*下拉列表的值的改变
*mainitem:主类表单元素
*subitem:子类表单元素
*catalog:分类(城市、职位类别等主要是方便函数的重用)
*/
function selectOnchange(mainitem,subitem,catalog)
{
var flag = 1; //显示英文
if (document.location.href.indexOf("_En.jsp")=="-1") flag = 0; //显示中文
setSubSelectItem(catalog,mainitem,subitem,flag);
}作者: tznktg 时间: 2007-10-6 11:39 标题: JS关于多重下拉选项调配关系的源代码[续] //per_jslib.js中 js_set_sel(obj, val)函数和add_city(subitem, pval, val, flag)函数
function js_set_sel(obj, val)
{
for (i=0; i<obj.length; i++)
{
if (obj.options.value == val)
{
obj.options.selected = true;
break;
}
}
}
function add_city(subitem, pval, val, flag)
{
var bJb = (subitem.name.indexOf('jobLocation')>-1) ;
itemCount = cityCount;
items = citys;
var mc = pval;
if (mc == '') return;
//alert('mc = '+mc);
if (flag==1)
{
for (i=0; i<itemCount; i++)
{
if (items[3] == val)
{
mc = items[1];
break;
}
}
//alert(i+'----'+(i<itemCount-1 && mc != items[i+1][1]));
if (pval == 'Qita')
{
var opt=document.createElement("OPTION");
opt.text='Qita'; opt.value='Qita';
subitem.add(opt);
if (opt.value == val) opt.selected = true;
return ;
}
}
for (i=0; i<itemCount; i++)
{
if (items[1] == mc)
{
var opt=document.createElement("OPTION");
if (flag==1)
{
if (bJb)
{
//alert(items[3]+'---'+items[1] );
opt.text=items[3];
opt.value=items[3];
subitem.add(opt);
if (opt.value == val) opt.selected = true;
}
else
{
//alert('sssssss');
if (i<itemCount-1 && mc != items[i+1][1]) continue;
if (i<itemCount-1) { opt.text=items[i+1][3]; opt.value=items[i+1][3]; }
else { opt.text=items[3]; opt.value=items[3];}
//if (i==476) alert(items[3]+'---'+items[1] );
subitem.add(opt);
if (opt.value == val) opt.selected = true;
}
}
else
{
if (bJb)
{
opt.text=items[0].replace('├-',''); opt.value=items[2];
subitem.add(opt);
if (opt.value == val) opt.selected = true;
}
else
{
if (i<itemCount-1 && mc != items[i+1][1]) continue;
if (i<itemCount-1) { opt.text=items[i+1][2]; opt.value=items[i+1][2]; }
else { opt.text=items[2]; opt.value=items[2]; }
subitem.add(opt);
if (opt.value == val) opt.selected = true;
}
}