1

我正在使用 javascript 在我的页面中填充一个选择框,但它不起作用,选择框显示但它完全为空。

我的控制台也没有错误。

我的脚本是这样的:

        var select = document.createElement("select");
            for(var i in resource){
                if(i !== id && select.hasOwnProperty(i)){
                    select.setAttribute(i, resource[i].name);
                }
            }
            d.appendChild(select);

示例数据resource

{
 "1":{"name":"Test"},
 "2":{"name":"Test2"},
 "3":{"name":"Test3"}
}

关于为什么它不会填充的任何想法?

4

2 回答 2

8

您的脚本中几乎没有错误,如您所见,许多在评论中都提到了。

您正在寻找的可能是这样的

var select = document.createElement("select");
for(var i in resource){
    if(resource.hasOwnProperty(i)){ //removed the i !== id condition, you may put it back
        var opt = new Option(resource[i].name, i);
        select.options[select.options.length] = opt;
    }
}
document.body.appendChild(select);

演示:小提琴

于 2013-05-07T02:48:13.873 回答
1

您需要创建 的子元素select,即option标签。

这是一个示例JSFiddle

于 2013-05-07T02:41:04.517 回答