2012-09-14 24 views
1

我有一個dijit選擇小部件,並且需要在用戶點擊其中一個下拉項目時執行某些操作。這意味着我需要訪問點擊的項目,以獲取一些信息,並調用我自己的功能之一。Dojo:訪問dijit.form.Select中單擊的項目?

我測試過在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對象,但它們都是未定義的。 ta.getValue()按預期得到所選值。

達到此目的的最佳方法是什麼?

回答

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); 
}); 
+0

非常好!謝謝! =) – jBoive