我有一个dijit Select小部件,当用户点击其中一个下拉项时需要做一些事情。含义我需要访问被点击的项目,检索一些信息,然后调用我自己的一个函数。
我已经测试过在选择上附加一个onChange,我可以选择正确的文本值。但我需要对象而不是价值。该对象在data-info-attribute中包含更多值。
基本上我想要实现的是在列表中显示一个值,但在选择时发送更多值以填充其他字段。
背景:这是一个由服务器功能通过AJAX填充的预先输入字段。有一个商店附加但它是空的(据我所知)所以我尝试使用:.store.fetchItemByIdentity
- 总是没有成功。
ta.store.fetchItemByIdentity({
identity: ta.getValue(),
onItem: function(item, request){
console.log(item),
console.log(request)
}
})
我希望日志显示item-和request-object,但它们都是未定义的。
ta.getValue()
按预期获得所选值。
实现这一目标的最佳方式是什么?
答案 0 :(得分:2)
查看我对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);
});