2010-11-30 36 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