Ext combox 动态 检索
java code:
[html]
package com.paic.bbs.action;
import java.io.OutputStreamWriter;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.List;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.AbstractController;
import com.paic.bbs.DAO.DBUtils;
import com.paic.bbs.DTO.LoginIsToCollect;
import com.paic.bbs.DTO.SchemaidBean;
public class SchemaidAction extends AbstractController{
public ModelAndView handleRequestInternal(HttpServletRequest request,HttpServletResponse response)throws Exception{
String sql="select * from t_schemaidinfo";
int total = 0;
PreparedStatement ps1 = DBUtils.getConnection().prepareStatement(sql);
ResultSet rs1 = ps1.executeQuery();
List<SchemaidBean> list1 = new ArrayList<SchemaidBean>();
while(rs1.next()){
SchemaidBean sch =new SchemaidBean();
sch.setID(rs1.getInt(1));
sch.setSCHEMAID(rs1.getString(2));
sch.setDescribe(rs1.getString(3));
list1.add(sch);
total++;
}
StringBuffer sb=new StringBuffer();
sb=sb.append("{'root':[");
for (int i = 0; i < list1.size(); i++) {
sb.append("{'SCHEMAID':' "+list1.get(i).getSCHEMAID()+"','Describe':'"+list1.get(i).getDescribe()+"'}");
if(i != (list1.size()-1))
sb.append(",");
}
sb.append("]}");
System.out.println(sb.toString());
response.setCharacterEncoding("UTF-8");
response.getWriter().print(sb.toString());
response.getWriter().close();
return null;
}
}
js code: combox代码
[html]
var combobox = new Ext.form.ComboBox({
id:'pid',
fieldLabel: '指标名称',
store:new Ext.data.Store({
proxy: new Ext.data.HttpProxy({
url: '/KITWEB/SchemaidAction.do'//请求路径
}),
reader: new Ext.data.JsonReader({
root:'root',
totalProperty:'total'
},[
{name: 'SCHEMAID'},
{name: 'Describe'}
]),
autoLoad:true
}),
displayField: 'Describe',
valueField: 'SCHEMAID',
hiddenName:'SCHEMAID',//后台接收这个对像的值
triggerAction: 'all',
emptyText: '请选择...',
allowBlank: false,
blankText: '请选择SCHEMAID',
typeAhead : true,
minChars:1,
lazyInit:false,
mode: 'remote',
listeners : {
'beforequery':function(e){
var combo = e.combo;
if(!e.forceAll){
var input = e.query;
// 检索的正则
var regExp = new RegExp(".*" + input + ".*");
// 执行检索
combo.store.filterBy(function(record,id){
&n
补充:web前端 , JavaScript ,