我有三个选择,即月份,日期和年份。为此,一年是无关紧要的。我写了一个脚本,以便在每月更改时,它会更改选择日期的值,以便如果他们选择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
- 1. 如何选择基于另一个选择值同月值
- 2. 基于jQuery的另一个选择的值动态改变选择选项
- 3. 更改另一个选择时更改选择值
- 4. 基于另一个选择框值的选择框php
- 5. 填充DropDown /选择基于另一个DropDown选择的值
- 6. 更改选择另一个选择的价值
- 7. 如何在另一个选择值更改时更新选择?
- 8. ajax选择基于另一个选择
- 9. LINQ选择基于另一个选择
- 10. 选择基于另一个表的值从另一个表列
- 11. 基于动态选择选项值更改文本框的值
- 12. CSS选择基于HTML的另一个元素选择选项值
- 13. 当我更改AngularJS中另一个选择选项的值时,如何更改选择选项值?
- 14. 选择值低于另一个 - 的Oracle
- 15. jQuery的改变基于两个选项选择列表值值
- 16. 根据另一个pickerview的值选择更改pickerview的值
- 17. 基于从另一个选择更改第二个下拉菜单的值
- 18. 基于值选择值
- 19. 排除一个选择框的值基于其他选择框
- 20. 选择基于列的值
- 21. 更新选择器选择与另一个选择器的选定值
- 22. 更改选择的值会触发Angularjs中的另一个选择的事件
- 23. 使用JQM更改基于之前选择值的选择选项
- 24. 基于另一个选择框中的选择填充一个选择框 - jQuery?
- 25. 更改基于HTML的选项卡选择值
- 26. 选择两个值基于同一列
- 27. 选择列表选择更改另一个选择列表
- 28. 在另一个选择框更改后获取选择框的值
- 29. 选择javascript的更改值
- 30. 集合选择基于第一个下拉值选择
它显示的任何错误??长度属性是只读的。 – RSK 2010-12-11 10:23:13
没有显示任何错误,并且错误控制台中没有任何错误。 - 长度是只读的,然后我可以把它拿出来,它不应该影响任何东西,因为我正在循环,正确吗? – 2010-12-11 10:24:54