【问题标题】: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);
        }

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2013-11-26
          • 2010-09-24
          • 2011-08-17
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2012-11-26
          • 2016-01-13
          相关资源
          最近更新 更多