EXTJS 下拉框弹出表单的问题
那个条件重复多次显示。
2.下拉框的问题:如图
选择的名称却在新的文本框显示,如何让他再选择框显示呢?
来个大神指点下 谢谢了 EXT 新手。
EXTJS:
<%@ page language="java" pageEncoding="UTF-8"%>
var deptEmpWindow;
var currentNode;
var orgtreeSelect,orgtreeWindow;
var conditionEmpForm=new Ext.FormPanel( {
title:'查询条件',
buttonAlign:'center',
border : false,
height : 170,
frame:true,
border : false,
labelAlign : 'left',
items : [{
layout : 'column',
items : [
{columnWidth : .40,layout : 'form',labelWidth:60,
items : [new Ext.form.TextField( {fieldLabel : '模板名称',id : 'mms_moban_name',width : 200,allowBlank : true})]},
{columnWidth : .20,labelWidth:60,layout : 'form',items : [ new Ext.Button({text: '查询',iconCls: 'icon-search',
handler:function(){loadGrid(empsstore);}
})]
}]
}]
});
var conditionEmpPanel = {region : "north",border : false,split:true,items:[conditionEmpForm],margins:'3 0 0 0'};
var emps = Ext.data.Record.create([
{name : 'mms_moban_id',type : 'int'},
{name : 'mms_moban_name',type : 'string'}
]);
var empsstore = new Ext.data.Store( {
proxy:new Ext.data.HttpProxy(new Ext.data.Connection({timeout:0,url:'<foundation:root/>gridPagingAction.action'})),
reader : new Ext.data.JsonReader( {
root : 'data',
totalProperty : 'totalProperty'
}, emps),
remoteSort : false
});
empsstore.on('beforeload', function() {
empsstore.baseParams = {
CATEID:Ext.isEmpty(currentNode)?"":currentNode.id,
mms_moban_name:Ext.getCmp("mms_moban_name").getValue().trim(),
OPERATORID:${userObject.operatorId},
CATENAME:Ext.isEmpty(currentNode)?"":currentNode.text,
mainSqlId:'MMS.getData',
countSqlId:'MMS.getCount'
};
});
var empsCm = new Ext.grid.ColumnModel({
columns:[new Ext.grid.CheckboxSelectionModel({singleSelect:true}),{
header : '编号',
width:40,
dataIndex:'mms_moban_id'
},
{
header : '模板名称',
width:500,
dataIndex:'mms_moban_name'
}],
defaults: {
sortable: false,
menuDisabled: true
}
});
var pagingBarEmps = new Ext.PagingToolbar({
pageSize: pageSize,
store: empsstore,
displayInfo: true
});
var empsGrid = new Ext.grid.GridPanel({
store: empsstore,
cm: empsCm,
border : true,
sm:new Ext.grid.RowSelectionModel({singleSelect:true}),
region : "center",
loadMask : true,
enableColumnMove: false,
stripeRows: true,
iconCls : 'grid-icon',
bbar: pagingBarEmps,
listeners :{
celldblclick : function(thisGrid, rowIndex, columnIndex, ev ){
selectEmpDone();
}
}
});
var p_emp = new Ext.Panel({
layout : 'border',
border : false,
title:'模版查询',
split : true,
items:[conditionEmpPanel,empsGrid],
listeners :{
activate : function(p){
p_emp.doLayout(true);
}
}
});
var smallTabPanel = new Ext.TabPanel({
region : 'center',
activeTab: 0,
//deferredRender:false,
border : false,
items:[p_emp]
});
function selectEmpDone(){
if(!empsGrid.getSelectionModel().hasSelection()){
Ext.Msg.alert("提示:","请选择对应的模版!");
return;
}
$set("mms_moban_name",empsGrid.getSelectionModel().getSelected().get("mms_moban_name"));
deptEmpWindow.hide();
}
var orgtree = <apframe:extTree treeId="orgtree" dataUrl="smscateAction.action" rootVisible="false" rootId="cateTreeRoot" border="true" iconCls="group-icon" region="west" width="210" enableDD="true" split="true" title="短信分类" rootText="组树" margins="3 0 0 0" />;
orgtree.on("click",function(node,ev){
optype='0';
currentNode=node;
if (currentNode.id == 'r1'){
currentNode = null;
}
loadGrid(empsstore);
});
var deptEmpInnerPanel=new Ext.Panel({
layout : 'border',
border : false,
split : true,
iconCls : 'icon-plugin',
//items:[orgtree,smallTabPanel]
items:[smallTabPanel]
});
function fetchTemplate(){
if(deptEmpWindow==null){
deptEmpWindow = new Ext.Window( { //定义对话框
width : 750,
height : 470,
shadow : true,
title: '模版分类选择:',
closeAction : 'hide', //hide表示关闭的时候对话框是隐藏的,并没有真正的销毁,下次要用时在show出来
modal : true,
closable : true,
minWidth : 700,
layout : 'fit',
minHeight : 470,
buttons:[
{text:'选择',iconCls : 'icon-tick',handler:selectEmpDone},
{text:'关闭',handler:function(){deptEmpWindow.hide();}
}],
items:[deptEmpInnerPanel] //将定义的表单加到对话框里
});
}
deptEmpWindow.show();
}
var triggers = new Ext.form.TriggerField({id:'mms_moban_name',fieldLabel:'模板选择',width:120,allowBlank:true,editable:false});
triggers.onTriggerClick = fetchTemplate;