ExtJS ComboBox不会显示项目

时间:2011-08-29 15:42:20

标签: javascript extjs extjs3

我运行此代码并且下拉列表不会下拉 - 没有项目显示。

查看调试器,我发现该商店没有商品。

当我注释掉'url'并取消注释'data'(其中包含.cfm页面生成的确切json字符串)时,下拉列表会按预期工作。

任何人都知道这里发生了什么?

<html>
<head>
   <link rel="stylesheet" type="text/css" href="ext-3.1.0/resources/css/ext-all.css" />
   <script src="ext-3.1.0/adapter/ext/ext-base.js"></script>
   <script src="ext-3.1.0/ext-all-debug.js"></script>
   <script>
      if (Ext.BLANK_IMAGE_URL.substr(0,5) != 'data:')
      {
         Ext.BLANK_IMAGE_URL = 'ext-3.1.0/resources/images/default/s.gif';
      }
      Ext.onReady(function()
      {
         var testStore = new Ext.data.JsonStore({
            url: 'combotest.cfm',
            //data: {"ROWS":[{"NAME":"one"},{"NAME":"two"},{"NAME":"three"}]},
            root: 'ROWS',
            fields: ['NAME'],
            autoLoad: true
         });

         var test_form = new Ext.FormPanel(
         {
            renderTo: Ext.getBody(),
            frame: true,
            title: 'Form',
            width: 500,
            items: [
            {
               xtype: 'combo',
               fieldLabel: 'Combo Box',
               triggerAction: 'all',
               mode: 'local',
               store: testStore,
               displayField: 'NAME',
               width: 350
            }
            ]
         });
      });
   </script>
</head>
<body>
</body>
</html>

1 个答案:

答案 0 :(得分:1)

一位同事弄明白了。除了json字符串之外,.cfm页面还返回调试信息。添加

<cfsetting showdebugoutput="FALSE">  

到.cfm页面的末尾清除了它。