1

我有一个 dijit Select 小部件,当用户单击其中一个下拉项目时需要做一些事情。这意味着我需要访问单击的项目,检索一些信息,并调用我自己的函数之一。

我已经测试在选择上附加一个 onChange ,我可以很好地选择文本值。但我需要对象而不是价值。该对象在数据信息属性中包含更多值。

基本上我想要实现的是在列表中显示一个值,但在选择时发送更多值以填充其他字段。

背景:这是一个由服务器函数通过 AJAX 填充的预输入字段。附有一家商店,但它是空的(据我所知)所以我一直没有成功尝试:.store.fetchItemByIdentity- 总是什么都不返回。

ta.store.fetchItemByIdentity({
    identity: ta.getValue(),
    onItem: function(item, request){
        console.log(item),
        console.log(request)
    }
})

我希望日志显示项目和请求对象,但它们都是未定义的。 ta.getValue()得到预期的选定值。

实现这一目标的最佳方法是什么?

4

1 回答 1

2

看看我对onChange 的回答不足以触发来自 Dojo Combobox 的查询以及那里提到的jsFiddle。我在那里添加了特定于您需求的代码:

select.dropDown.on("itemClick", function(dijit, event) {
    var node = dijit.domNode;
    console.log(domAttr.get(node, "data-info-attribute"));
    // or
    console.log(node.dataset.infoAttribute);
});
于 2012-09-14T09:54:12.000 回答