基于另一个选择的值更改选择的值
我有三个选择,即月份,日期和年份。为此,一年是无关紧要的。我写了一个脚本,以便在每月更改时,它会更改选择日期的值,以便如果他们选择2作为一个月,则它会将其更改为仅在二月的28天。基于另一个选择的值更改选择的值
请在创建新选项前清除所有选项。
<script type="text/javascript">
function pickdata(month){
day = document.getElementById('day');
len = day.options.length;
for(i=len-1;i>=0;i--)
{
day.remove(i);
}
switch(month){
case "2":
max = 30;
break;
case "4":
case "6":
case "9":
case "11":
max = 31
break;
case "1":
case "3":
case "5":
case "7":
case "8":
case "10":
case "12":
max=32;
break;
}
for(i=1;i< max ; i++){
var elOptNew = document.createElement('option');
elOptNew.text = i;
elOptNew.value = i;
day.appendChild(elOptNew);
}
}
</script>
<select name="month" id="month" onchange="pickdata(this.value)">
第一部分是如何理解的?如果他们选择二月和长度为31,它会删除1使它30? 创建新元素应该是这样的: [code] var elOptNew = document.createElement('option'); \t \t \t \t \t elOptNew.text = i; \t \t \t \t \t elOptNew.value = i; \t \t \t \t \t elSel = document.getElementById('day'); \t \t \t \t \t elSel.add(elOptNew); [/ code] – 2010-12-11 10:47:51
对不起。我只是想说,首先在一天中删除所有选项,然后根据所选的月份创建新的选项。在第一个代码中错过了for循环。现在修复了它 – RSK 2010-12-11 10:54:43
我试着完全删除脚本的第一部分,并删除了我的日期选择器中的所有选择选项,以查看它是否正在创建任何元素,而没有任何内容。 – 2010-12-11 11:18:16
它显示的任何错误??长度属性是只读的。 – RSK 2010-12-11 10:23:13
没有显示任何错误,并且错误控制台中没有任何错误。 - 长度是只读的,然后我可以把它拿出来,它不应该影响任何东西,因为我正在循环,正确吗? – 2010-12-11 10:24:54