2010-11-30 82 views
2

我有一個包含24個項目的下拉列表,用戶可以檢查一個單選按鈕,這會將其設置爲僅顯示12.如果他們取消選擇它,下拉菜單將顯示如前所述的24個項目。Javascript從下拉菜單中隱藏項目

我有工作,只顯示使用

document.getElementById('theMenu').length = 12; 

但後來當我嘗試將其設置回24,其他12個項目是空的12個項目。

我想我可能需要將值存儲在某種臨時數組中,然後將這些值重新加載到下拉菜單中? (僅限Javascript)

謝謝:)

回答

0

是的設置長度爲12是破壞第二個12的值。

當頁面準備就緒而不是操作該數組(將其用作常量),用另一個需要的數組填充另一個數組,創建一個接受數組並填充的方法一個下拉列表(您可以硬編碼目標數組,或使目標Id爲另一個參數)。

你能夠使用JQuery庫嗎?我會這樣建議。它很可能會有一些有用的方法來操作<select>

+0

謝謝,我認爲這會是最好的選擇。我會使用JQuery,但作爲我的任務它必須是純JavaScript的:)。 – Elliott 2010-11-30 16:53:41

0

爲什麼不使用jQuery來簡化它?

你可以存儲在基於該複選框值的Array

var values = {1:one,2:two,3:three}; 

,然後將值填充它們

$.each(values , function(key,value) { 
    alert(value); 
     $('#drop'). 
      append($("<option></option>"). 
      attr("value",key). 
      text(key)); 

}); 

What is the best way to add options to a select from an array with jQuery?

+0

我會的,但我正在爲我的任務做這件事。我實際上並不需要這樣做,但我想添加更多功能:),謝謝。 – Elliott 2010-11-30 17:02:29