extjs 页面中
页面中有两个日期的选择框
第一个是起始日期 第二个是结束日期,我想做这样的限制,在选择第二个结束日期的时候能够做个限制,即要大于开始日期 用对话框提示。最好的二个选择框还保留显示。Ext.onReady(function(){
var _window=new Ext.Window({
renderTo:Ext.getBody(),
frame:true,
plain:true,
width:500,
height:200,
layout:"form",
lableWidth:45,
defaults:{xtype:"textfield",width:180},
items:[{fieldLabel:"帐号"},{fieldLabel:"密码"},{
name:'dt1',
xtype:"datefield",
format:"Y-m-d",
fieldLabel:"起始日期"
},{
name:'dt2',
xtype:"datefield",
format:"Y-m-d",
fieldLabel:"结束日期"
}],
buttons:[{text:"确定"},{text:"取消",handler:function(){_window.hide();}}]
})
_window.show();
})
页面中有两个日期的选择框
第一个是起始日期 第二个是结束日期,我想做这样的限制,在选择第二个结束日期的时候能够做个限制,即要大于开始日期 用对话框提示。最好的二个选择框还保留显示。Ext.onReady(function(){
var _window=new Ext.Window({
renderTo:Ext.getBody(),
frame:true,
plain:true,
width:500,
height:200,
layout:"form",
lableWidth:45,
defaults:{xtype:"textfield",width:180},
items:[{fieldLabel:"帐号"},{fieldLabel:"密码"},{
name:'dt1',
xtype:"datefield",
format:"Y-m-d",
fieldLabel:"起始日期"
},{
name:'dt2',
xtype:"datefield",
format:"Y-m-d",
fieldLabel:"结束日期"
}],
buttons:[{text:"确定"},{text:"取消",handler:function(){_window.hide();}}]
})
_window.show();
})
解决方案 »
- 请教事件冒泡和事件捕捉的写法
- 求JavaScript+JQuery视频
- 关于php,java,.net高手给些建议
- jquery datepicker 当鼠标点击了日立或者下一月的按钮时,日期的hover事件和onmourseover事件都不能用了?谁能帮下忙,在线等
- 如何实现 获得 鼠标位置的元素
- 鱼与熊掌亦能兼得!学知识又拿分:“百度空间统计图表经典JS”高手请进!
- JS表单验证
- 如何判断页面是否已经引用了JQUERY?
- 在模态对话框中,提交一个FORM后,action的页面会打开一个新的页面,有没办法也让它在模态对话框中?
- javascript怎么把文本框里的字符分段取出来?字符分割符号是";".
- 使用js脚本,当点击一个超链接的时候将这个超链接的链接和参数拿出来做成一个表单再提交怎么做?
- IE中可以添加自定义的属性到window对象吗?
function ckDate(){
var v1 = Ext.getCmp("dt1").getValue();
var v2 = Ext.getCmp("dt2").getValue();
if(v1=="" || v2=="") return true;
return v2 > v1;
}
Ext.onReady(function(){
var _window=new Ext.Window({
renderTo:Ext.getBody(),
frame:true,
plain:true,
width:500,
height:200,
layout:"form",
lableWidth:45,
monitorValid:true,
defaults:{xtype:"textfield",msgTarget:'side',allowBlank:false,width:180},
items:[{fieldLabel:"帐号"},{fieldLabel:"密码"},{
name:'dt1',id:'dt1',
xtype:"datefield",
format:"Y-m-d",
fieldLabel:"起始日期",validator:ckDate
},{
name:'dt2',id:'dt2',
xtype:"datefield",
format:"Y-m-d",
fieldLabel:"结束日期",validator:ckDate
}],
buttons:[{text:"确定"},{text:"取消",handler:function(){_window.hide();}}]
}).show();
});
我一般都是写个转换日期的函数,然后直接getvalue之后进行比较,用alert输出,比较笨的办法。
xtype:'datefield',
vtype: 'daterange',
name:"startDt",
id:'startDt',
fieldLabel:"Start Date",
format:"Y-m-d",
anchor:"65%",
endDateField: 'endDt'
},
{
xtype:'datefield',
vtype: 'daterange',
name:"endDt",
id:'endDt',
fieldLabel:"End Date",
format:"Y-m-d",
anchor:"65%",
startDateField: 'startDt'
}
Ext.apply(Ext.form.VTypes, {
daterange : function(val, field) {
var date = field.parseDate(val); if (!date) {
return;
}
if (field.startDateField && (!this.dateRangeMax || (date.getTime() != this.dateRangeMax.getTime()))) {
var start = Ext.getCmp(field.startDateField);
start.setMaxValue(date);
start.validate();
this.dateRangeMax = date;
}
else if (field.endDateField && (!this.dateRangeMin || (date.getTime() != this.dateRangeMin.getTime()))) {
var end = Ext.getCmp(field.endDateField);
end.setMinValue(date);
end.validate();
this.dateRangeMin = date;
}
return true;
}
});