0

我正在尝试以编程方式在 Dashcode 中设置弹出菜单的值。我可以更改一些静态定义的默认值(来自检查器)的文本/值,但不能添加或删除它们。初始化视图时,它必须采用可变数量的选项。

    var popup = document.getElementById('popup');
    //popup.options = []; /* Doesn't clear the list */
    //popup.options.length = 0; /* Doesn't clear the list */
    popup.options[0].text = "Option 1";
    popup.options[0].value = "123";

如何修改列表?(不需要 LMGTFY 答案:)

4

3 回答 3

1

我最后这样解决了:

//remove all
if (popup.hasChildNodes()) {
    while (popup.childNodes.length >= 1) {
        popup.removeChild(popup.firstChild);       
    }
}

//add new
$.each(items, function(i, item) {
    var option = document.createElement("option");
    option.text = item.name;
    option.value = item.id;
    popup.appendChild(option);      
});
于 2010-01-29T11:07:19.337 回答
0

只是一个刺,但你不能在 JavaScript 中构建整个弹出窗口并通过传递参数来设置下拉/弹出窗口中的项目数。那么当您想更改任何项目时,您可以使用新参数调用 JavaScript 吗?

还是我误解了这个问题。

于 2010-01-28T14:20:20.983 回答
0

当我尝试像您一样动态绑定弹出菜单项时,我看到我分配给弹出菜单项的值是正确的,但弹出菜单中没有显示任何项目。

有什么我想念的吗?这是我的代码:

var ddlCurrencyCode = document.getElementById('ddlCurrencyCode'); if (ddlCurrencyCode.hasChildNodes()) { while (ddlCurrencyCode.childNodes.length >= 1) { ddlCurrencyCode.removeChild(ddlCurrencyCode.firstChild);
} }

for (var i = 0; i < result.rows.length; ++i) { var row = result.rows.item(i);
var ddlItem = document.createElement("ddlItem"); ddlItem.text = row['key']; ddlItem.value = row['value']; ddlCurrencyCode.appendChild(ddlItem);
}

于 2010-04-29T16:59:44.803 回答