在IE8中动态创建选择框选项问题

时间:2013-08-23 23:14:33

标签: javascript jquery html frontend

我正在使用以下功能为我的选择框

创建添加选项
  //add options to the requested select box
  addOptionsToSelect : function(__enum , obj, selected_value) {
    $(__enum).each(function(i){
       var optn = new Option(this.text, this.val)
       if(selected_value === this.val){  optn.setAttribute('selected', 'selected') } 
       $(obj)[0].options.add(optn); 
    });
    return obj
  }
  1. __enum是包含值的键值对,以及我们传递给选择选项的文本

  2. obj是选择框obj,也是动态创建的

  3. selected_value是需要在选择框中设置为所选的值。

  4. 这里的问题是optn.setAttribute('selected', 'selected')在所有期望IE8的浏览器中都能正常工作。

    我正在寻找一种解决方法,允许我动态设置所有浏览器中的选定值。

1 个答案:

答案 0 :(得分:1)

我会添加一个类似的选项:

var select = document.getElementById("drop-down");
var newOption = document.createElement("option");
newOption.innerHTML = 'hello';
select.appendChild(newOption);

以下是一个示例:my fiddle