1

如何编写一个包含多列的 dijit 自动完成组合框,例如这个...

  1. john, doe, cod 13, 街道样本 1
  2. 史蒂夫,史密斯,鳕鱼 14,街头样本 2
  3. 迈克尔,詹姆斯,鳕鱼 14,街头样本 3

这是我的代码:

var filteringSelect = new dijit.form.ComboBox({
    id: "managerSelect",
    name: "managers",
    value: "",
    store: managerStore,
    searchAttr: "serial"
    },
"managerSelect");
}

但是它只显示一个这样的列:

  1. 约翰
  2. 史蒂夫
  3. 迈克尔
4

1 回答 1

3

如果我理解正确,您需要为组合框覆盖“labelFunc”。例如

// 定义组合框

var filteringSelect = new dijit.form.ComboBox({
                    id: "managerSelect",
                    name: "managers",
                    value: "",
                    store: managerStore,
                    searchAttr: "serial",
                    labelFunc:"myLabelFunc"
                    },
                    "managerSelect");
                }

// 定义标签函数

function myLabelFunc(item, store){
            var label=store.getValue(item, 'first')+","+store.getValue(item, 'last');
            return label;
        }

HTML 页面 - 示例

于 2011-03-26T17:28:36.690 回答