2013-03-13 38 views
0

我能夠在獲得幫助後使其工作,但我無法使ComboBox顯示選定的選項。dojo 1.8 - 這次雖然是服務器,但無法初始化和更新組合框每當有選擇時發生變化

這次我想通過連接到服務器即興創作我的jsfiddle以獲取列表。 我想知道爲什麼它不工作,雖然我作爲基於我以前的jsfiddle。

當我運行它與螢火蟲和firephp啓用。我可以看到我設法獲取列表,但無法啓動ComboBox。 FireBug或FirePhp沒有產生任何錯誤。請參閱我的jsfiddle

meter_Select.on('change', function() 
      { 
        console.debug('Selected Card = '+ meter_Select.value); 
        request.post('listofcards.php',{ //'CALL listmfg_codes()' 
        data:{cardX : meter_Select.value}, 
        handleAs:"json" 
        }).then(
        function(response) 
         { 
          var memoStore2 = new Memory({data:response});//ok 
          var card_Select = registry.byId('node_cardSelect');//ok 
          //console.debug('response ='+ memoStore2); 
          console.debug('card Select(1A) ='+card_Select);//ok 

          if(card_Select) 
          { 
           card_Select.store = memoStore2; 
           console.debug('card Select(1C) ='+card_Select); 
          }//if 
          else 
          { 
           card_Select = new ComboBox({ 
           store : memoStore2, 
           searchAttr : "mfg_code" 
           //style:{width:'200px'}, 
           },"node_cardSelect"); 
           console.debug('card Select(1B) ='+card_Select); 
          }//else 

          //card_Select.startup(); 
         },//function(response) 

        function(error)//ok 
         { 
          alert('Getting a list of cards = '+error); 
         }//function(error) 
        )//then 
      });//meter_Select.on 
+0

在「響應」列表中返回了哪些項目?如果您希望列表與Memory存儲一起使用,它們應該是對象。我想我很想知道你的意思是「無法啓動ComboBox」。它沒有被渲染?它是否呈現,但沒有項目可供選擇? – Default 2013-03-13 14:35:53

回答

0

由於某些原因,您的ComboBox需要一個明確的ID。我猜有一些衝突的ID去某處:http://jsfiddle.net/9tNhN/13/

下面是相關變化:

 combx = new ComboBox({ 
      store: memoStore2, 
      searchAttr: "mfg_code", 
      id: "some_unique_id" 
     }, "node_cardSelect"); 

UPDATE:ID字段是你需要在registry.byId使用()什麼;構造函數參數之後的ID是它放置在DOM中的位置。已更新jsfiddle:http://jsfiddle.net/9tNhN/14/

+0

再次嗨。謝謝。添加'id'確實有效,但如果我們從Select中更新了ComboBox,它又會回到同樣的錯誤。錯誤說'錯誤:嘗試使用id == batchSelect註冊小部件,但該ID已經註冊'。我想使用destroyRescursive或domAttr.set。這兩者似乎都不起作用。你有什麼主意嗎? – user1739825 2013-03-14 02:53:48

+0

更新的答案,包括一個新的jsfiddle,它的工作原理 – 2013-03-14 15:48:22

+0

哦......這很有趣。雖然combx未被registry.byID定義,但不會顯示錯誤。再次感謝您的幫助。 – user1739825 2013-03-15 01:49:39

相關問題