EXtjs 使用Ext.ux.form.SearchField 加入搜索框前后台实例

需要引入 SearchField.js,其中代码如下:

/*!
 * Ext JS Library 3.3.1
 * Copyright(c) 2006-2010 Sencha Inc.
 * licensing@sencha.com
 * http://www.sencha.com/license
 */
Ext.ns('Ext.ux.form');

Ext.ux.form.SearchField = Ext.extend(Ext.form.TwinTriggerField, {
    initComponent : function(){
        Ext.ux.form.SearchField.superclass.initComponent.call(this);
        this.on('specialkey', function(f, e){
            if(e.getKey() == e.ENTER){
                this.onTrigger2Click();
            }
        }, this);
    },

    validationEvent:false,
    validateOnBlur:false,
    trigger1Class:'x-form-clear-trigger',
    trigger2Class:'x-form-search-trigger',
    hideTrigger1:true,
    width:180,
    hasSearch : false,
    paramName : 'query',

    onTrigger1Click : function(){
        if(this.hasSearch){
            this.el.dom.value = '';
            var o = {start: 0};
            this.store.baseParams = this.store.baseParams || {};
            this.store.baseParams[this.paramName] = '';
            this.store.reload({params:o});
            this.triggers[0].hide();
            this.hasSearch = false;
        }
    },

    onTrigger2Click : function(){
        var v = this.getRawValue();
        if(v.length < 1){
            this.onTrigger1Click();
            return;
        }
        var o = {start: 0};
        this.store.baseParams = this.store.baseParams || {};
        this.store.baseParams[this.paramName] = v;
        this.store.reload({params:o});
        this.hasSearch = true;
        this.triggers[0].show();
    }
});




var filterRange = [["authors","作者"],["fruit_name","成果名称"],["company_name","所在单位"]];
		var filterField = new Ext.ux.form.SearchField({
			store:store,
			onTrigger2Click : function(){
		        var v = this.getRawValue();
		        var o = {start: 0};
		        this.store.baseParams["filterCond"]=fruitList.getTopToolbar().findById("filterCond").getValue();
		        if(v.length < 1){
		            this.store.baseParams[this.paramName] = '';
		        }else{
			        this.store.baseParams = this.store.baseParams || {};
			        this.store.baseParams[this.paramName] = v;
		        }
		        this.store.reload({params:o});
	            this.hasSearch = true;
		        this.triggers[0].show();
		    }
	    });
		var filterBar = new Ext.Toolbar({
			items:[{text:"删除选中成果",handler:delSelFruits},"-",
					{text:"分享选中成果",handler:shareSelFruits},"-",
					{text:"返回",handler:returnToCollect},"->","搜索:",
			{xtype:"combo",labelSeparator:":",width:80,id:"filterCond",name:"filterCond",
				store:filterRange,value:"authors",editable:false,triggerAction:"all"},
			filterField
			       ]
		});

后台获取搜索条件方式如下:

String filterCond = request.getParameter("filterCond");
		String query = request.getParameter("query");
获取到的值分别是:

filterCond  是 authors

query    是     王强

显示效果如下图:


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值