0

選択したオプションをComboBoxに表示させることはできませんでしたが、助けを得た後、それを機能させることができました。

今回は、サーバーに接続してjsfiddleを即興で作成し、リストを取得したいと思いました。以前のjsfiddleに基づいて作成したのに、なぜ機能しなかったのか疑問に思います。

firebugと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
4

1 に答える 1

0

何らかの理由で、ComboBoxは明示的なIDを必要としています。どこかでIDの競合が発生していると思います:http://jsfiddle.net/9tNhN/13/

関連する変更は次のとおりです。

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

更新:IDフィールドは、registry.byId()で使用する必要があるものです。コンストラクター引数の後のIDは、DOM内で配置される場所です。更新されたjsfiddle:http: //jsfiddle.net/9tNhN/14/

于 2013-03-13T20:06:09.377 に答える