javascript做省市级联的下拉列表




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;


评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

裘千仞不会水上漂

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值