sencha触摸点击搜索按钮并使用ajax搜索加载数据视图

时间:2014-01-26 08:54:44

标签: javascript ajax extjs touch

我对sencha触摸几乎是新手,我有这个简单的问题: 我有一个带有搜索字段和开始搜索按钮(简单搜索)的面板:

items: [{
    xtype: 'container',
    html: '<div style="width:100%;text-align:center;"><img src="images/logo.png" style="max-width:40%;" /></div>',

},{
    xtype: 'fieldset',
    title: '<center>Insert your adress</center>',
    cls:'ps-red',
    items: [{
        xtype: 'textfield',
        name: 'adress',
        required: true,
        clearIcon: true,
    }]
},{
    xtype:'button',
    text:'Search',
    ui:'confirm-round',
    margin:5,
    handler:function(){
    }
}]

点击搜索按钮我需要使用输入文本参数进行ajax调用,并将结果显示给另一个面板。 我应该在按钮的处理函数中写什么?

Ext.define('Demo.view.SearchResults', {
    extend: 'Ext.Container',
    xtype: 'resultcard',
    config: {
        layout:'fit',
        cls:'ks-basic',
        items: [{
            xtype: 'dataview',
            scrollable: 'vertical',
            cls:        'dataview-basic',
            store:      '????', 
        }]
    }
});

1 个答案:

答案 0 :(得分:1)

好的,我们假设商店为'SampleStore'

这是您应该在处理函数中编写的示例调用,看看它是否对您有用,在此示例中我添加了推送视图,您可以根据需要更新面板

      handler : function(){
             var navigationView = button.up('navigationview');
             Ext.getStore('SampleStore').getProxy().setExtraParam('search',address);
             Ext.getStore('SampleStore').load({
               callback: function(record, operation, success) {
                  if(success && record.length) {
                    // here you can call any other function to update panel
                   navigationView.push({
                     xtype  : 'resultcard',
                     record : record
                   });
                  }  else {
                  Ext.Msg.alert('Address not found. (' + address + ')');
                  }
               }
           });
        }// handler close