从javascript函数添加下拉列表名称

时间:2014-03-16 14:00:54

标签: javascript

我想把名字放到dropdown列表中,但它现在似乎不适合我。我不知道自己做错了什么。任何帮助将不胜感激。

HTML:

<select name="status" id="dropdownlist" style="width: 100%;">
   <option value="">Select Option</option>
</select>

JS:

  success: function(resp)
        {
            alert(resp); // names for example: mile,stone,
            var arr = resp.split(",");
            var list = document.getElementById("dropdownlist").value;
            alert(list); // Null
            list.length = 1;
            for(var i = 0; i < arr.length; i++)
            {
                var name = arr[i];
                if(name.length != 0)
                {
                    var option = document.createElement('option');
                    option.text = option.value = name;
                    list.add(option);
                }
            }
        }

`     编辑(某人解决方案)

success: function(resp) { alert(resp); // names for example: mile,stone, var arr = resp.split(","); var list = $(".dropdownlist"); list.length = 1; var html = ""; for(var i = 0; i < arr.length; i++) { var name = arr[i]; if(name.length != 0) { html += "<option value='" + name + "'>"; html += name; html += "</option>"; } } $(".dropdownlist").append(html); }

1 个答案:

答案 0 :(得分:2)

您的代码中的

list不是指下拉列表。

更改此

var list = document.getElementById("dropdownlist").value;

var list = document.getElementById("dropdownlist");

document.getElementById("dropdownlist").value;返回所选项目值。

    你的html中的
  • ,你没有为<option>指定任何默认值。因此它返回null

  • 您正在尝试将<option>附加到list,这是空的。

  • document.getElementById("dropdownlist");会返回您的<select>元素,您可以追加<option>

更新:fiddle