【问题标题】:Dojo dijit/form/Select don't display the LabelDojo dijit/form/Select 不显示标签
【发布时间】:2014-07-06 15:59:29
【问题描述】:

编辑:感谢您的回答。但是我发现了问题,响应值 server.id 没有设置。现在一切正常:)。

我对 dijit/form/Select 有疑问。我在我的 JavaScript 代码中创建了一个 Select 小部件,方法是添加 mySelect.options=[{label:"test", value:1}] 之类的选项,小部件会向我显示标签。但是当我在我的 dojo/request 函数中设置选项时它不起作用!通过单击下拉菜单,我可以看到标签,但不在当前显示字段中。

这是我的代码

function populateValuesForDeleteServer() {
request.get("jsp/loadServer.jsp", {
    query : "command=loadAllServer",
    handleAs : "json"
}).then(function(response) {
    // Array für die Liste anlegen
    var parameter = new Array(response.length);
    // Fülle die Parameter
    for (var i = 0; i < response.length; i++) {
        var server = response[i];
        parameter[i] = {
            label : server.name,
            value : server.id
        };
    }
    selectDeleteServer.options = parameter;
}, function(error) {
    // TODO was mit dem log anfangen
    alert("Fehler beim initialisieren der Auswahlliste für deleteServer");
    console.log("An error occurred: " + error);
});

}

【问题讨论】:

    标签: javascript dijit.form dojo


    【解决方案1】:

    dojo/store 添加到FilteringSelect 并添加options 以存储为数据。

    var store = new Observable(new Memory({
        data: options
    }))
    
    widget.set('store',store)
    

    你的代码应该是

    function populateValuesForDeleteServer() {
    request.get("jsp/loadServer.jsp", {
        query : "command=loadAllServer",
        handleAs : "json"
    }).then(function(response) {
        // Array für die Liste anlegen
        var parameter = new Array(response.length);
        // Fülle die Parameter
        for (var i = 0; i < response.length; i++) {
            var server = response[i];
            parameter[i] = {
                label : server.name,
                value : server.id
            };
        }
    
        //dojo/store with an obsrevable
        var store = new Observable(new Memory({
            data: options
        }))
    
        selectDeleteServer.set('store',store);
    }, function(error) {
        // TODO was mit dem log anfangen
        alert("Fehler beim initialisieren der Auswahlliste für deleteServer");
        console.log("An error occurred: " + error);
    });
    

    【讨论】:

      【解决方案2】:

      你试过 addOption() 方法吗?

      dijit.form.select.addOption(/*array of options*/).
      

      你的代码应该是这样的。

      selectDeleteServer.addOption= parameter;
      

      【讨论】:

        猜你喜欢
        • 2013-12-19
        • 1970-01-01
        • 1970-01-01
        • 2016-01-21
        • 1970-01-01
        • 1970-01-01
        • 2014-03-17
        • 2011-01-07
        • 2016-04-12
        相关资源
        最近更新 更多