我正在使用ExtJs4.I在我的网络应用程序中有一个表格,其中有文本框。在文本框中按任意键时,方案是提供类似搜索的AJAX(如Google)。搜索将查看一个Web服务并在drop drown中显示结果(JSON对象)。类似于Google搜索。
有没有任何想法,链接或教程这样做?
由于
答案 0 :(得分:1)
我希望这对你有所帮助,你可以在extjs4中找到很多例子
http://www.sencha.com/products/extjs/examples/ http://dev.sencha.com/deploy/ext-4.1.0-gpl/examples/#sample-2
答案 1 :(得分:1)
答案 2 :(得分:1)
您可以使用 ComboBox 。使用触发器或没有触发器(看起来像 TextBox )。
Sencha提供了很好的例子:
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']
]
答案 3 :(得分:1)
我认为这个例子http://docs.sencha.com/ext-js/4-1/#!/example/form/forum-search.html会让你感兴趣。该实现使用标准组合框控制。在您的情况下,您需要设置minChars属性= 1,在这种情况下,绑定到Combobox的存储将生成带有过滤器参数的标准READ查询到服务器。你可以在那里生成结果。