码迷,mamicode.com
首页 > 编程语言 > 详细

javascript做省市级联的下拉列表

时间:2015-05-08 15:04:40      阅读:133      评论:0      收藏:0      [点我收藏+]

标签:javascript   select   省市县   联动   




object.options.add(new Option(label,value))方法向集合里添加一项option对象;
object.options.remove(index)方法移除options集合中的指定项;
object.options(index)或options.item(index)可以通过索引获取options集合的指定项;

select标记还有一个属性为selectedIndex,通过它可能获取当前选择的option索引:object.selectedIndex

//1.清空options集合
function optionsClear(object)
{ var length = object.options.length;
for(var i=length-1;i>=0;i--){
e.options.remove(i);
}
}

//2.添加一项新option
function addOption(object)
{ object.add(new Option(label,value));
//使用options集合中最后一项获取焦点
object.selectedIndex = object.lentht-1;
}

//3.删除options集合中指定的一项option
function removeOption(index)
{ if(index >= 0)
{ object.remove(index);
//使用options集合中最后一项获取焦点
object.selectedIndex = object.lentht-1;
}
}

//4.获取当前选定的option的真实值value
function getCurrentOptionValue(index)
{ if(index >= 0)
return object(index).value;
}

//5.获取当前选定的option的显示值label
function getCurrentOptionLabel(index)
{ if(index >= 0)
return object(index).text;
}

//下面是日期的联动下拉框:

function YYYYMMDD(){
//设置月份的集合
MonHead = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];
//清除年份下拉框的所有内容,最主要包括空格
var yObj = document.form1.year
optionsClear(yObj);
//再给年下拉框赋内容
yObj.options.add(new Option("请选择",0));
for (var i = 1950; i <= new Date().getFullYear(); i++) //以1950年为基准,到今年结束
document.form1.year.options.add(new Option(i , i));
//清除月份下拉框的所有内容,最主要包括空格
var mObj = document.form1.month;
optionsClear(mObj);
//再赋月份的下拉框
document.form1.month.options.add(new Option("请选择",0));
for (var i = 1; i < 13; i++)
document.form1.month.options.add(new Option(i,i));
//赋年份的初始值
document.form1.year.value = document.getElementsByName("YYYY")[0].value;
//赋月份的初始值
document.form1.month.value = document.getElementsByName("MM")[0].value;
//赋日期下拉框
var n = MonHead[document.form1.month.value-1];
if (document.form1.month.value ==2 && IsPinYear(YYYYvalue)) n++;
writeDay(n);
//赋日期的初始值
document.form1.date.value = document.getElementsByName("DD")[0].value;
}

//年发生变化时日期发生变化(主要是判断闰平年)
function YYYYDD(str) {
var MMvalue = document.form1.month.options[document.form1.month.selectedIndex].value;
if (MMvalue == "") {
var e = document.form1.date;
optionsClear(e);
return;
}
var n = MonHead[MMvalue - 1];
if (MMvalue == 2 && IsPinYear(str)) n++;
writeDay(n)
}

//月发生变化时日期联动
function MMDD(str) {
var YYYYvalue = document.form1.year.options[document.form1.year.selectedIndex].value;
if (YYYYvalue == ""){
var e = document.form1.date;
optionsClear(e);
return;
}
var n = MonHead[str - 1];
if (str == 2 && IsPinYear(YYYYvalue)) n++;
writeDay(n)
}

//据条件写日期的下拉框
function writeDay(n) {
var e = document.form1.date;
optionsClear(e);
for (var i=1; i<(n+1); i++)
e.options.add(new Option(i,i));
}

//判断是否闰平年
function IsPinYear(year) {
return(0 == year%4 && (year0 !=0 || year@0 == 0));
}

//清除下拉框的所有内容
function optionsClear(e) {
var length = object.options.length;
for(var i=length-1;i>=0;i--){
e.options.remove(i);
}

}
再送些福利
//1 检测是否有选中

if (objSelect.selectedIndex > - 1 ) {

// 说明选中

} else {

// 说明没有选中

}

//2 删除被选中的项

objSelect.options[objSelect.selectedIndex] = null ;

//3 增加项

objSelect.options[objSelect.length] = new Option( " 你好 " , " hello " );

//4 修改所选择中的项

objSelect.options[objSelect.selectedIndex] = new Option( " 你好 " , " hello " );

//5 得到所选择项的文本

objSelect.options[objSelect.selectedIndex].text;

//6 得到所选择项的值

objSelect.options[objSelect.selectedIndex].value;


javascript做省市级联的下拉列表

标签:javascript   select   省市县   联动   

原文地址:http://blog.csdn.net/xtfge0915/article/details/45577703

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!