【问题标题】:How to set popup menu values programmatically in Dashcode如何在 Dashcode 中以编程方式设置弹出菜单值
【发布时间】:2010-01-15 12:43:25
【问题描述】:
我正在尝试以编程方式在 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 答案:)
【问题讨论】:
标签:
javascript
iphone
dashcode
【解决方案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);
});
【解决方案2】:
只是一个刺,但您不能在 JavaScript 中构建整个弹出窗口并通过传递参数来设置下拉/弹出窗口中的项目数。那么当您想更改任何项目时,您可以使用新参数调用 JavaScript 吗?
还是我误解了这个问题。
【解决方案3】:
当我尝试像您一样动态绑定弹出菜单项时,
我看到我分配给弹出菜单项的值是正确的,但弹出菜单中没有显示任何项目。
我有什么遗漏吗?
这是我的代码:
var ddlCurrencyCode = document.getElementById('ddlCurrencyCode');
if (ddlCurrencyCode.hasChildNodes()) {
而(ddlCurrencyCode.childNodes.length >= 1){
ddlCurrencyCode.removeChild(ddlCurrencyCode.firstChild);
}
}
for (var i = 0; i
var ddlItem = document.createElement("ddlItem");
ddlItem.text = row['key'];
ddlItem.value = row['value'];
ddlCurrencyCode.appendChild(ddlItem);
}