JavaScript实现二级联动下拉框
来源:互联网 发布:电视剧配音软件 编辑:程序博客网 时间:2024/05/16 18:39
自己写的一个二级联动下拉框,有什么不足,请指正。
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<strong>二级联动下拉框、二级联动下拉菜单、二级联动下拉列表:</strong><br /><br />
<script language = "JavaScript">...
/**//*
* 函数:Link2_POption_Change(Arr, PSelect, SSelect)
* 说明:一级下拉框改变时初始化二级下拉框的选项
<strong>二级联动下拉框、二级联动下拉菜单、二级联动下拉列表:</strong><br /><br />
<script language = "JavaScript">...
/**//*
* 函数:Link2_POption_Change(Arr, PSelect, SSelect)
* 说明:一级下拉框改变时初始化二级下拉框的选项
* 作者:lg970044
* 输入:
* @参数 {Array}Arr 选项信息数组
* @参数 {String || Object}PSelect 一级下拉框的ID或对象
* @参数 {String || Object}SSelect 二级下拉框的ID或对象
* #参数 {String}EnableTip 是否加上提示项
* #参数 {String}TipName 提示项名称
* 输出:
* 无
*/
function Link2_POption_Change(Arr, PSelect, SSelect)
...{
if (typeof PSelect != 'object')...{PSelect = document.getElementById(PSelect);}
if (typeof SSelect != 'object')...{SSelect = document.getElementById(SSelect);}
//默认参数EnableTip(是否加上提示项)设为否
var EnableTip=arguments[3]?arguments[3]:'N';
//默认参数TipName(提示项名称)设为'请选择'
var TipName=arguments[4]?arguments[4]:'请选择';
var i=0,j=0;
//清空二级下拉框选项
SSelect.length = 0;
if (EnableTip=='Y')...{
//二级下拉框添加提示项
SSelect.options[i] = new Option(TipName, '');
i++;
}
//取得一级下拉框选择的值
var PSelectValue=PSelect.options[PSelect.selectedIndex].value;
//为二级下拉框添加选项
for (j=0; j < Arr.length; j++)...{
if (Arr[j][2] == PSelectValue)...{
SSelect.options[i] = new Option(Arr[j][0], Arr[j][1]);
i++;
}
}
}
/**//*
* 函数:Link2_PSOption_Init(Arr, PSelect, SSelect)
* 说明:初始化二级联动下拉框的选项
* 输入:
* @参数 {Array}Arr 选项信息数组
* @参数 {String || Object}PSelect 一级下拉框的ID或对象
* @参数 {String || Object}SSelect 二级下拉框的ID或对象
* #参数 {Number}PSelectValue 一级下拉框的预设值
* #参数 {Number}SSelectValue 二级下拉框的预设值
* #参数 {String}PEnableTip 一级下拉框是否加上提示项
* #参数 {String}PTipName 一级下拉框提示项名称
* #参数 {String}SEnableTip 二级下拉框是否加上提示项
* #参数 {String}STipName 二级下拉框提示项名称
* 输出:
* 无
*/
function Link2_PSOption_Init(Arr, PSelect, SSelect)
...{
if (typeof PSelect != 'object')...{PSelect = document.getElementById(PSelect);}
if (typeof SSelect != 'object')...{SSelect = document.getElementById(SSelect);}
//默认参数PSelectValue(一级下拉框的预设值)设为0
var PSelectValue=arguments[3]?arguments[3]:0;
//默认参数SSelectValue(二级下拉框的预设值)设为0
var SSelectValue=arguments[4]?arguments[4]:0;
//默认参数PEnableTip(一级下拉框是否加上提示项)设为否
var PEnableTip=arguments[5]?arguments[5]:'N';
//默认参数PTipName(一级下拉框提示项名称)设为'请选择'
var PTipName=arguments[6]?arguments[6]:'请选择';
//默认参数SEnableTip(二级下拉框是否加上提示项)设为否
var SEnableTip=arguments[7]?arguments[7]:'N';
//默认参数STipName(二级下拉框提示项名称)设为'请选择'
var STipName=arguments[8]?arguments[8]:'请选择';
var i=0,ii=0,j=0;
if (SSelectValue>0)...{
//根据二级下拉框的预设值,计算出一级下拉框的值
for (i=0;i < Arr.length; i++)...{
if (Arr[i][2] > 0 && Arr[i][1] == SSelectValue) PSelectValue=Arr[i][2];
}
}
//初始化下拉框选项
i=0;
ii=0;
//清空一级下拉框选项
PSelect.length = 0;
if (PEnableTip=='Y')...{
//一级下拉框添加提示项
PSelect.options[i] = new Option(PTipName, '');
i++;
}
//清空二级下拉框选项
SSelect.length = 0;
if (SEnableTip=='Y')...{
//二级下拉框添加提示项
SSelect.options[ii] = new Option(STipName, '');
ii++;
}
//为一级下拉框添加选项
for (j=0; j < Arr.length; j++)...{
if (Arr[j][2] == 0)...{
PSelect.options[i] = new Option(Arr[j][0], Arr[j][1]);
if (Arr[j][1] == PSelectValue)...{
PSelect.options[i].selected=true;
}
i++;
}
}
//取得一级下拉框的值
if (PSelectValue == 0) PSelectValue = PSelect.options[0].value;
//为二级下拉框添加选项
if (PSelectValue > 0)...{
for (j=0; j < Arr.length; j++)...{
if (Arr[j][2] == PSelectValue)...{
SSelect.options[ii] = new Option(Arr[j][0], Arr[j][1]);
if (Arr[j][1] == SSelectValue)...{
SSelect.options[ii].selected=true;
}
ii++;
}
}
}
}
</script>
<script language="javascript">...
var OptionArr = new Array();
//OptionArr[序号] = new Array('名称','值','上级关联值');
OptionArr[0] = new Array('图书类','1','0');
OptionArr[1] = new Array('小说','1','1');
OptionArr[2] = new Array('文学','2','1');
OptionArr[3] = new Array('传记','3','1');
OptionArr[4] = new Array('音乐类','2','0');
OptionArr[5] = new Array('古典','4','2');
OptionArr[6] = new Array('影视类','3','0');
OptionArr[7] = new Array('电视剧','5','3');
OptionArr[8] = new Array('电影','6','3');
OptionArr[9] = new Array('百货类','4','0');
OptionArr[10] = new Array('家居','7','4');
OptionArr[11] = new Array('化妆品','8','4');
</script>
示例1:
<select id="class1id" onChange="Link2_POption_Change(OptionArr,'class1id','class2id');">
</select>
<select id="class2id">
</select>
<script language = "JavaScript">...
Link2_PSOption_Init(OptionArr,'class1id','class2id');
</script>
<br /><br />
示例2:
<select id="class11id" onChange="Link2_POption_Change(OptionArr,'class11id','class22id','Y','请选择小类');">
</select>
<select id="class22id">
</select>
<script language = "JavaScript">...
Link2_PSOption_Init(OptionArr,'class11id','class22id',0,3,'Y','请选择大类','Y','请选择小类');
</script>
* 输入:
* @参数 {Array}Arr 选项信息数组
* @参数 {String || Object}PSelect 一级下拉框的ID或对象
* @参数 {String || Object}SSelect 二级下拉框的ID或对象
* #参数 {String}EnableTip 是否加上提示项
* #参数 {String}TipName 提示项名称
* 输出:
* 无
*/
function Link2_POption_Change(Arr, PSelect, SSelect)
...{
if (typeof PSelect != 'object')...{PSelect = document.getElementById(PSelect);}
if (typeof SSelect != 'object')...{SSelect = document.getElementById(SSelect);}
//默认参数EnableTip(是否加上提示项)设为否
var EnableTip=arguments[3]?arguments[3]:'N';
//默认参数TipName(提示项名称)设为'请选择'
var TipName=arguments[4]?arguments[4]:'请选择';
var i=0,j=0;
//清空二级下拉框选项
SSelect.length = 0;
if (EnableTip=='Y')...{
//二级下拉框添加提示项
SSelect.options[i] = new Option(TipName, '');
i++;
}
//取得一级下拉框选择的值
var PSelectValue=PSelect.options[PSelect.selectedIndex].value;
//为二级下拉框添加选项
for (j=0; j < Arr.length; j++)...{
if (Arr[j][2] == PSelectValue)...{
SSelect.options[i] = new Option(Arr[j][0], Arr[j][1]);
i++;
}
}
}
/**//*
* 函数:Link2_PSOption_Init(Arr, PSelect, SSelect)
* 说明:初始化二级联动下拉框的选项
* 输入:
* @参数 {Array}Arr 选项信息数组
* @参数 {String || Object}PSelect 一级下拉框的ID或对象
* @参数 {String || Object}SSelect 二级下拉框的ID或对象
* #参数 {Number}PSelectValue 一级下拉框的预设值
* #参数 {Number}SSelectValue 二级下拉框的预设值
* #参数 {String}PEnableTip 一级下拉框是否加上提示项
* #参数 {String}PTipName 一级下拉框提示项名称
* #参数 {String}SEnableTip 二级下拉框是否加上提示项
* #参数 {String}STipName 二级下拉框提示项名称
* 输出:
* 无
*/
function Link2_PSOption_Init(Arr, PSelect, SSelect)
...{
if (typeof PSelect != 'object')...{PSelect = document.getElementById(PSelect);}
if (typeof SSelect != 'object')...{SSelect = document.getElementById(SSelect);}
//默认参数PSelectValue(一级下拉框的预设值)设为0
var PSelectValue=arguments[3]?arguments[3]:0;
//默认参数SSelectValue(二级下拉框的预设值)设为0
var SSelectValue=arguments[4]?arguments[4]:0;
//默认参数PEnableTip(一级下拉框是否加上提示项)设为否
var PEnableTip=arguments[5]?arguments[5]:'N';
//默认参数PTipName(一级下拉框提示项名称)设为'请选择'
var PTipName=arguments[6]?arguments[6]:'请选择';
//默认参数SEnableTip(二级下拉框是否加上提示项)设为否
var SEnableTip=arguments[7]?arguments[7]:'N';
//默认参数STipName(二级下拉框提示项名称)设为'请选择'
var STipName=arguments[8]?arguments[8]:'请选择';
var i=0,ii=0,j=0;
if (SSelectValue>0)...{
//根据二级下拉框的预设值,计算出一级下拉框的值
for (i=0;i < Arr.length; i++)...{
if (Arr[i][2] > 0 && Arr[i][1] == SSelectValue) PSelectValue=Arr[i][2];
}
}
//初始化下拉框选项
i=0;
ii=0;
//清空一级下拉框选项
PSelect.length = 0;
if (PEnableTip=='Y')...{
//一级下拉框添加提示项
PSelect.options[i] = new Option(PTipName, '');
i++;
}
//清空二级下拉框选项
SSelect.length = 0;
if (SEnableTip=='Y')...{
//二级下拉框添加提示项
SSelect.options[ii] = new Option(STipName, '');
ii++;
}
//为一级下拉框添加选项
for (j=0; j < Arr.length; j++)...{
if (Arr[j][2] == 0)...{
PSelect.options[i] = new Option(Arr[j][0], Arr[j][1]);
if (Arr[j][1] == PSelectValue)...{
PSelect.options[i].selected=true;
}
i++;
}
}
//取得一级下拉框的值
if (PSelectValue == 0) PSelectValue = PSelect.options[0].value;
//为二级下拉框添加选项
if (PSelectValue > 0)...{
for (j=0; j < Arr.length; j++)...{
if (Arr[j][2] == PSelectValue)...{
SSelect.options[ii] = new Option(Arr[j][0], Arr[j][1]);
if (Arr[j][1] == SSelectValue)...{
SSelect.options[ii].selected=true;
}
ii++;
}
}
}
}
</script>
<script language="javascript">...
var OptionArr = new Array();
//OptionArr[序号] = new Array('名称','值','上级关联值');
OptionArr[0] = new Array('图书类','1','0');
OptionArr[1] = new Array('小说','1','1');
OptionArr[2] = new Array('文学','2','1');
OptionArr[3] = new Array('传记','3','1');
OptionArr[4] = new Array('音乐类','2','0');
OptionArr[5] = new Array('古典','4','2');
OptionArr[6] = new Array('影视类','3','0');
OptionArr[7] = new Array('电视剧','5','3');
OptionArr[8] = new Array('电影','6','3');
OptionArr[9] = new Array('百货类','4','0');
OptionArr[10] = new Array('家居','7','4');
OptionArr[11] = new Array('化妆品','8','4');
</script>
示例1:
<select id="class1id" onChange="Link2_POption_Change(OptionArr,'class1id','class2id');">
</select>
<select id="class2id">
</select>
<script language = "JavaScript">...
Link2_PSOption_Init(OptionArr,'class1id','class2id');
</script>
<br /><br />
示例2:
<select id="class11id" onChange="Link2_POption_Change(OptionArr,'class11id','class22id','Y','请选择小类');">
</select>
<select id="class22id">
</select>
<script language = "JavaScript">...
Link2_PSOption_Init(OptionArr,'class11id','class22id',0,3,'Y','请选择大类','Y','请选择小类');
</script>
详细内容见:http://www.qlolo.com/?m=pc&a=page_fh_diary&target_c_diary_id=874
- javascript实现二级联动下拉框!
- JavaScript实现二级联动下拉框
- javascript实现二级联动下拉框
- javascript实现二级联动下拉框
- javascript实现二级联动下拉框
- javascript实现二级联动下拉框
- JavaScript实现二级联动下拉框
- JavaScript二级下拉框联动
- 实现下拉框二级联动
- Javascript实现二级联动下拉框(简单易懂)
- php+mysql+javascript实现二级联动下拉框
- Ajax实现二级联动下拉框
- Ajax实现二级联动下拉框!
- Ajax实现二级联动下拉框!
- Ajax实现二级联动下拉框
- Ajax实现二级联动下拉框
- Ajax实现二级联动下拉框
- DWR实现二级联动下拉框
- 装备
- 设置GridView编辑框长度
- 学习directfb
- 学习和倾吐感情地方
- 使用Rational Rose对VC工程进行反向
- JavaScript实现二级联动下拉框
- 李阳疯狂英语突破对话(17)-去银行怎么走
- 老婆眼中的站长男人
- 在sql server 2005 express中导入已有数据库
- JavaScript实现的分页(样式1)
- spring集成poi完成电子表格报表完全版
- 数学之美 系列十三 信息指纹及其应用
- 数学之美 系列 12 - 余弦定理和新闻的分类
- 李阳疯狂英语突破对话(18)-公共汽车多久一班