Javascript ExtJS组合框帮助

Javascript ExtJS组合框帮助,javascript,html,jsp,combobox,extjs,Javascript,Html,Jsp,Combobox,Extjs,我正在尝试使用ExtJS定义一个组合框下拉列表,它将显示保存在数组中的“假日”。请纠正我的错误,因为JSP不会显示组合框下拉列表 ... <body> <div class="left " style="color:#333333;padding-bottom:8px;padding-left:13px;width:99%;" id="Holiday"> <span class="formastrickmargin"><

我正在尝试使用ExtJS定义一个组合框下拉列表,它将显示保存在数组中的“假日”。请纠正我的错误,因为JSP不会显示组合框下拉列表

  ...
  <body>
  <div class="left " style="color:#333333;padding-bottom:8px;padding-left:13px;width:99%;" id="Holiday">        

  <span class="formastrickmargin"><strong></strong></span>
  </div>
  <div id="Holiday" class="left " style="padding-bottom:6px;padding-left:15px;width:99%;">

  </div>
   </body>

  <script type="text/javascript">   
  var availableTags = ["New years Day", "Martin Luther King Day", "Groundhog Day", "Valentine's Day", "Washington's Birthday", 
                 "Easter", "Earth Day", "National Arbor Day", "Mother's Day", "Memorial Day", "Flag Day", "Father's Day", 
                 "Independence Day", "Labor Day", "Columbus Day", "Halloween", "Veterans Day", "Thanksgiving Day"];
   var combo1;
   var defaultDDText = 'Enter the Site Id here, or select from dropdown.';
   var Holidaystore = new Ext.data.ArrayStore({
         root: 'availableTags',
         autoLoad:true,
         fields: ['availableTags'],
         data: availableTags
        });


   Ext.onReady(function(){
   Ext.QuickTips.init();
   function initializeHoliday(){

    combo1 = new Ext.form.ComboBox({ 
            id:'Holiday',
            typeAhead: true,  
            triggerAction: 'all',
            emptyText: defaultDDText,
            store:Holidaystore,
            selectOnFocus:true,
            width:408,
            listWidth: '410',               
            mode: 'local',
            minChars : '3',
            renderTo:'Holiday',
            displayField: 'availableTags',

}); }
initializeHoliday();  
});

 </script>
。。。

var availableTags=[“新年”、“马丁·路德·金日”、“土拨鼠日”、“情人节”、“华盛顿生日”,
“复活节”、“地球日”、“国家植树节”、“母亲节”、“阵亡将士纪念日”、“国旗日”、“父亲节”,
“独立日”、“劳动节”、“哥伦布日”、“万圣节”、“退伍军人节”、“感恩节”];
var-1;
var defaultDDText='在此处输入站点Id,或从下拉列表中选择';
var Holidaystore=new Ext.data.ArrayStore({
root:“availableTags”,
自动加载:对,
字段:['availableTags'],
数据:可用标签
});
Ext.onReady(函数(){
Ext.QuickTips.init();
函数初始化holiday(){
combo1=新的Ext.form.ComboBox({
id:“假日”,
是的,
触发动作:“全部”,
emptyText:defaultDDText,
商店:度假店,
selectOnFocus:true,
宽度:408,
listWidth:'410',
模式:“本地”,
明查斯:“3”,
renderTo:“假日”,
显示字段:“availableTags”,
}); }
初始化holiday();
});

我将从删除根开始:或

var availableTags = { data : ["New years Day", "Martin Luther King Day", "Groundhog Day", "Valentine's Day", "Washington's Birthday", "Easter", "Earth Day", "National Arbor Day", "Mother's Day", "Memorial Day", "Flag Day", "Father's Day", "Independence Day", "Labor Day", "Columbus Day", "Halloween", "Veterans Day", "Thanksgiving Day"] }; var availableTags={ 资料:[“元旦日”、“马丁·路德·金日”、“土拨鼠日”, “情人节”、“华盛顿生日”、“复活节”、“地球日”, “国家植树节”、“母亲节”、“阵亡将士纪念日”、“国旗日”, “父亲节”、“独立日”、“劳动节”、“哥伦布日”, “万圣节”、“退伍军人节”、“感恩节”] };
下一个根:data

实际上您不需要“root”键。您试图做的是将类似于JsonReader所使用的内容提供给arrayreader

您需要的是一个二维数组:

var data = [
    ["New years"],
    ["Martin luther king day"],
    ["..."]
];

var Holidaystore = new Ext.data.ArrayStore({
         autoLoad:true,
         fields: ['name'],
         data: data
        });
您向读取器指定每个记录中都有一个字段(名称),因此数据数组由一个或多个记录(外部数组)组成,每个记录都是一个字段列表(内部数组)。您只指定1个字段,因此内部数组只需要1个字段。数组到记录字段的映射是在内部数组的索引上完成的

祝你好运,
罗伯

现在开始工作了

  <script type="text/javascript">
  var datas = [['AL', 'Alabama'],['AK', 'Alaska']];  
Ext.onReady(function(){
Ext.QuickTips.init();

var Holidaystore = new Ext.data.ArrayStore({
    autoLoad:true,          
    fields: ['abbr', 'state'],      
    data: datas
}); 

var combo = new Ext.form.ComboBox({
    store: Holidaystore,
    displayField:'state',
    valueField: 'abbr',
    typeAhead: true,
    mode: 'local',
    forceSelection: true,
    triggerAction: 'all',
    emptyText:'Select a Holiday...',
    selectOnFocus:true,
    renderTo: 'Holidayz'
});



});
 </script>
 ....
 <body>
  ...
  <div id="Holidayz"> 
  </div>
  ...
  </body>
  <html>

var数据=['AL'、['Alabama']、['AK'、[Alaska'];
Ext.onReady(函数(){
Ext.QuickTips.init();
var Holidaystore=new Ext.data.ArrayStore({
自动加载:对,
字段:['abbr','state'],
数据:数据
}); 
var combo=新的Ext.form.ComboBox({
商店:度假店,
显示字段:'state',
valueField:'缩写',
是的,
模式:“本地”,
选择:对,
触发动作:“全部”,
emptyText:“选择假日…”,
selectOnFocus:true,
renderTo:“Holidayz”
});
});
....
...
...