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 回答