JavaScript下拉列表框问题
下面这段代码是JavaScript实现的2级下拉列表联动我想给列表中每个值都加一个value的属性,以此从1,2,3……这样排列不知道如何实现?另外我要从另一个页面获取下...
下面这段代码是JavaScript实现的2级下拉列表联动
我想给列表中每个值都加一个value的属性,以此从1,2,3……这样排列
不知道如何实现?
另外我要从另一个页面获取下拉列表选中项的value值又怎么做呢?
<SCRIPT LANGUAGE="JavaScript">
<!--
function Dsy()
{
this.Items = {};
}
Dsy.prototype.add = function(id,iArray)
{
this.Items[id] = iArray;
}
Dsy.prototype.Exists = function(id)
{
if(typeof(this.Items[id]) == "undefined") return false;
return true;
}
function change(v){
var str="0";
for(i=0;i<v;i++){ str+=("_"+(document.getElementById(s[i]).selectedIndex-1));};
var ss=document.getElementById(s[v]);
with(ss){
length = 0;
options[0]=new Option(opt0[v],opt0[v]);
if(v && document.getElementById(s[v-1]).selectedIndex>0 || !v)
{
if(dsy.Exists(str)){
ar = dsy.Items[str];
for(i=0;i<ar.length;i++)options[length]=new Option(ar[i],ar[i]);
if(v)options[1].selected = true;
}
}
if(++v<s.length){change(v);}
}
}
var dsy = new Dsy();
dsy.add("0",["图书音像软件","消费电子","家居化妆","专业店"]);
dsy.add("0_0",["图书","软件","教育音像","游戏/娱乐"]);
dsy.add("0_1",["手机/通讯","电脑/配件","摄影/摄像","MP3/MP4","视听/车载"]);
dsy.add("0_2",["个人护理","钟表首饰","化妆","玩具","厨具"]);
dsy.add("0_3",["文学书店","计算机书店","外语书店","经管书店","生活书店"]);
//-->
</SCRIPT>
<SCRIPT LANGUAGE = JavaScript>
var s=["lei1","lei2"];
var opt0 = ["请选择","请选择"];
function setup()
{
for(i=0;i<s.length-1;i++)
document.getElementById(s[i]).onchange=new Function("change("+(i+1)+")");
change(0);
}
//-->
</SCRIPT>
一定要那样吗?没有别的方法? 展开
我想给列表中每个值都加一个value的属性,以此从1,2,3……这样排列
不知道如何实现?
另外我要从另一个页面获取下拉列表选中项的value值又怎么做呢?
<SCRIPT LANGUAGE="JavaScript">
<!--
function Dsy()
{
this.Items = {};
}
Dsy.prototype.add = function(id,iArray)
{
this.Items[id] = iArray;
}
Dsy.prototype.Exists = function(id)
{
if(typeof(this.Items[id]) == "undefined") return false;
return true;
}
function change(v){
var str="0";
for(i=0;i<v;i++){ str+=("_"+(document.getElementById(s[i]).selectedIndex-1));};
var ss=document.getElementById(s[v]);
with(ss){
length = 0;
options[0]=new Option(opt0[v],opt0[v]);
if(v && document.getElementById(s[v-1]).selectedIndex>0 || !v)
{
if(dsy.Exists(str)){
ar = dsy.Items[str];
for(i=0;i<ar.length;i++)options[length]=new Option(ar[i],ar[i]);
if(v)options[1].selected = true;
}
}
if(++v<s.length){change(v);}
}
}
var dsy = new Dsy();
dsy.add("0",["图书音像软件","消费电子","家居化妆","专业店"]);
dsy.add("0_0",["图书","软件","教育音像","游戏/娱乐"]);
dsy.add("0_1",["手机/通讯","电脑/配件","摄影/摄像","MP3/MP4","视听/车载"]);
dsy.add("0_2",["个人护理","钟表首饰","化妆","玩具","厨具"]);
dsy.add("0_3",["文学书店","计算机书店","外语书店","经管书店","生活书店"]);
//-->
</SCRIPT>
<SCRIPT LANGUAGE = JavaScript>
var s=["lei1","lei2"];
var opt0 = ["请选择","请选择"];
function setup()
{
for(i=0;i<s.length-1;i++)
document.getElementById(s[i]).onchange=new Function("change("+(i+1)+")");
change(0);
}
//-->
</SCRIPT>
一定要那样吗?没有别的方法? 展开
1个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询