我在網頁上有16個唯一命名的下拉列表。當頁面加載時,用戶可以在任何下拉列表中選擇0到16的值。0是所有這些的默認值。現在,除非值爲0,否則當用戶爲其中一個下拉列表選擇一個值時。我希望該值不能作爲任何其他下拉菜單的可用選項。這將一直持續到最後一個下拉列表,其中唯一的選項是最後一個可用數字和零。問題是,它在Chrome和FireFox中工作正常,但我無法在IE中正常工作。當然,該頁面的大多數用戶使用IE。解決方法是所有值始終在所有下拉列表中可用,並且javascript檢查表單上的值。在javascript中構建動態下拉列表
我附加了執行繁重任務的函數的代碼,這個函數在每個下拉菜單中被onchange事件調用。
function populatePoints(pointChosen){
for (var k=1; k< 17; k++){
pointValue = document.myform["Dropdown_" + k + "_Points"].value
var theDropDown = document.myform["Dropdown_" + k + "_Points"].options
theDropDown.remove
var x = 0
document.fbpool["Dropdown_" + k + "_Points"].options[x] = new Option(0)
x++
for (var i=1;i<17;i++) {
if (document.myform.Dropdown_1_Points.value != i &&
document.myform.Dropdown_2_Points.value != i &&
document.myform.Dropdown_3_Points.value != i &&
document.myform.Dropdown_4_Points.value != i &&
document.myform.Dropdown_5_Points.value != i &&
document.myform.Dropdown_6_Points.value != i &&
document.myform.Dropdown_7_Points.value != i &&
document.myform.Dropdown_8_Points.value != i &&
document.myform.Dropdown_9_Points.value != i &&
document.myform.Dropdown_10_Points.value != i &&
document.myform.Dropdown_11_Points.value != i &&
document.myform.Dropdown_12_Points.value != i &&
document.myform.Dropdown_13_Points.value != i &&
document.myform.Dropdown_14_Points.value != i &&
document.myform.Dropdown_16_Points.value != i &&
document.myform.Dropdown_15_Points.value != i){
document.myform["Dropdown_" + k + "_Points"].options[x] = new Option(i)
x++}
}
document.myform["Dropdown_" + k + "_Points"].value = pointValue
}
}
,我不希望看到你怎麼跟上當你有這個代碼時,比方說50個選擇。 – melancia 2014-08-29 20:18:24
你能詳細說一下嗎? IE上發生了什麼?另外,在哪個版本? – melancia 2014-08-29 20:23:59
總是隻有16個選擇。當前版本的IE。代碼基本上對下拉菜單沒有影響。他們仍然顯示所有值都可用。它甚至沒有保持選定的價值。代碼基本上將下拉菜單重置爲頁面加載狀態。 – 2014-08-30 02:49:43