2012-04-30 81 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