我有一个 dijit Select 小部件,需要在用户单击其中一个下拉项时执行某些操作。这意味着我需要访问被点击的项目,以检索一些信息,并调用我自己的函数之一。
我已经测试过在选择上附加一个 onChange,我可以很好地选择文本值。但是我需要对象而不是值。该对象在数据信息属性中包含更多值。
基本上我想要实现的是在列表中显示一个值,但在选择时发送更多值以填充其他字段。
背景:这是一个由服务器功能通过 AJAX 填充的预输入字段。有一个附加的商店,但它是空的(据我所知)所以我一直没有成功尝试:.store.fetchItemByIdentity
- 总是不返回任何内容。
ta.store.fetchItemByIdentity({
identity: ta.getValue(),
onItem: function(item, request){
console.log(item),
console.log(request)
}
})
我希望日志显示项目对象和请求对象,但它们都未定义。
ta.getValue()
按预期获取所选值。
实现此目标的最佳方法是什么?
最佳答案
看看我对 onChange not sufficient to trigger query from 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);
});
关于javascript - Dojo:获取对 dijit.form.Select 中单击项的访问权限?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12420956/