我有三個選擇,即月份,日期和年份。爲此,一年是無關緊要的。我寫了一個腳本,以便在每月更改時,它會更改選擇日期的值,以便如果他們選擇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