2012-04-30 47 views
1

我正在使用ExtJs4.I在我的web应用程序中有一个窗体,其中有文本框。当在文本框中按任意键时,场景提供一个类似于AJAX的搜索(如Google)。搜索将查看Web服务并显示结果(JSON对象),类似于Google搜索。在文本框中搜索选项

有没有这样做的想法,链接或教程?

感谢

回答

1

你可以使用的ComboBox这一点。带触发器或无触发器(看起来像TextBox)。

煎茶提供了很好的例子:
http://docs.sencha.com/ext-js/4-0/#!/example/form/combos.html
http://docs.sencha.com/ext-js/4-0/#!/example/form/forum-search.html

这是一个简单的例子:

{ 
     xtype: 'combo', 
     id: 'myCombo', 
     store: Ext.create('Ext.data.ArrayStore', { 
       model: Ext.define('ComboModel', { 
         extend: 'Ext.data.Model', 
         fields: ['id','data1','data2'] 
       }), 
       proxy: { 
         type: 'ajax', 
         url : 'data.json', 
         reader: { 
           type: 'array' 
         } 
       } 

     }), 
     triggerAction: 'query', 
     minChars: 2, 
     fieldLabel: 'Search', 
     displayField: 'data1', 
     msgTarget: 'side', 
     triggerCls : 'x-form-search-trigger', // Search Icon For Instance 
     listConfig: { 
       getInnerTpl: function() { 
         return '<div>{data1}</div><div>{data2}</div>'; 
       } 
     } 
} 

而且JSON文件:

[ 
    ['1','data1-1','data2-1'], 
    ['2','data1-2','data2-2'], 
    ['3','data1-3','data2-3'], 
    ['4','data1-4','data2-4'], 
    ['5','data1-5','data2-5'] 
] 
+0

嗨娜塔莎,感谢你的建议,在这里我需要从json发送id字段作为combobox的输入值。如何设置? – user1321824

+0

请提出另一个问题。答案不符合评论。 – Natasha