Ext.QuickTips.init();是干什么用的
Ext是yui(yahoo UI类库)的扩展,完全是用javascript编写的,它提供了很多眩目的效果。Ext.QuickTips.init()也完全是Ext自定义的函数,当然也是javascript。javascript是一种强大的语言,同样可以象java一样有对象、封装、继承的概念。我的个人网站( http://www.mophisoft.com )全部是用ext建造,欢迎参观。打开网页源代码,你会看到引入了一个叫ext-all.js的文件,那就是ext库。
Ext.QuickTips.init();的作用
/*
* Ext JS Library 2.0 RC 1
* [email protected]
*
*/
Ext.onReady(function(){
Ext.QuickTips.init();
function formatDate(value){
return value ? value.dateFormat('M d, Y') : '';
};
var fm = Ext.form;
var checkColumn = new Ext.grid.CheckColumn({
header: "有效",
dataIndex: 'indoor',
width: 55
});
var cm = new Ext.grid.ColumnModel([{
id:'doc_code',
header: "文档编号",
dataIndex: 'doc_code',
width: 220,
hidden: true, // 隐藏列
editor: new fm.TextField({
allowBlank: false
})
},{
id:'name',
header: "名称",
dataIndex: 'name',
width: 200,
editor: new fm.TextField({
allowBlank: false
})
},{
header: "说明",
dataIndex: 'label',
width: 150,
editor: new fm.TextField({
allowBlank: false
})
},{
header: "菜单",
dataIndex: 'price',
width: 120,
editor: new fm.TextField({
allowBlank: false
})
},{
header: "有效",
dataIndex: 'youx',
width: 120,
editor: new fm.TextField({
allowBlank: false
})
}
]);
// sortable
cm.defaultSortable = true;
var Plant = Ext.data.Record.create([
,
,
,
,
,
]);
// create the Data Store
var store = new Ext.data.Store({
// 载入自动生成的XML文件 xml文件格式 uft-8
url: 'moudlexml.jsp',
reader: new Ext.data.XmlReader({
record: 'plant'
}, Plant),
sortInfo:
});
// create the editor grid
var grid = new Ext.grid.EditorGridPanel({
store: store,
cm: cm,
renderTo: 'editor-grid',
width:600,
height:300,
autoExpandColumn:'name',
title:'模块管理',
frame:true,
plugins:checkColumn,
//clicksToEdit:10,//设置点击几次才可编辑
selModel: new Ext.grid.RowSelectionModel(),//设置单行选中模式, 否则将无法删除数据
tbar: [{
tooltip:'Add Plant',
iconCls:'add',
text: '添加行',
handler : function(){
var p = new Plant({
doc_code: '0',
name: '',
label:'',
price:'',
youx:'',
indoor: false
});
var n = grid.getStore().getCount();// 获得总行数
grid.stopEditing();
store.insert(n, p);
grid.startEditing(n, 0);
}
}, '-', {
text:'删除行',
tooltip:'remove ',
iconCls:'remove',
handler : function(){
var rs1 = grid.getSelectionModel().getSelected();// 返回值为 Record 类型
grid.stopEditing();
if(rs1==undefined)
{
return;//判断记录集是否为空,为空返回
}
Ext.MessageBox.confirm('确认删除', '你真的要删除所有用户信息吗?',
function(btn) {
if(btn == 'yes')
{
// var rs1 = store.getAt(1);
store.remove(rs1);
grid.startEditing(0, 0);
Ext.Msg.alert('友情提示','删除成功,很好很强大');
}
else
{
//Ext.Msg.alert('您成功修改了用户信息', "被修改 "+rs1.get("name") );// 取得用户名
Ext.Msg.alert('友情提示','很天真,怎么不删');
}
});
}
},'-',{
text:'保存',
tooltip:'Save item',
iconCls:'option'
}]
});
// 单元格编辑后事件处理,暂不用
grid.on("afteredit", afterEdit, grid);
function afterEdit(e) {// 事件处理函数
var record = e.record;// 被编辑的记录
Ext.Msg.wait("请等候", "修改中", "操作进行中..."); // 显示等待对话框
// 更新界面, 来真正删除数据
Ext.Msg.alert('您成功修改了用户信息', "被修改的用户是:" + e.record.get(e.field) + "\n 修改的字段是:" + e.field);
};
//*****************************编辑窗口*****************************************************************
var simple = new Ext.FormPanel({
renderTo:'form-grid',//inner到哪个容器中
labelWidth: 75, // label settings here cascade unless overridden
url:'baododododododododo',
frame:true,
title: '编辑器',
bodyStyle:'padding:5px 5px 0',
width: 350,
defaults: ,
defaultType: 'textfield',
items: [{
fieldLabel: '名称',
name: 'name_e',
allowBlank:false
},{
fieldLabel: '菜单',
name: 'label_e',
allowBlank:false
},{
fieldLabel: '说明',
name: 'price_e',
allowBlank:false
}, {
fieldLabel: '是否有效',
name: 'youx_e'
}
],
buttons: [{
text: '保存',
handler : function(){
Ext.Ajax.request({
url : 'addrow.jsp' ,
params :'action=edit&name='+Ext.getDom('name_e').value,
method: 'GET',
text: "Updating...",
success: function ( result, request )
{
var rs1 = grid.getSelectionModel().getSelected();// 返回值为 Record 类型
var p = new Plant({
doc_code: '0',
name: Ext.getDom('name_e').value,
label:Ext.getDom('label_e').value,
price:Ext.getDom('price_e').value,
youx:Ext.getDom('youx_e').value ,
indoor: false
});
var n = store.indexOf(rs1);// 获得点击行的index
//本来想用替换方法 试了几次不爽 还是自己的增删吧
store.insert( n , p);
store.remove(rs1);
Ext.MessageBox.alert('访问成功', '数据返回的数据 '+ result.responseText);
},
failure: function ( result, request)
{
Ext.MessageBox.alert('访问失败', '失败了就没好说的了 (*^__^*) 嘻嘻……: ');
}
});
}
},{
text: '取消'
}]
});
// 载入数据
store.load();
// 单元格单击后事件处理
grid.on("click", clickedit, grid);
function clickedit(e) {
var rs1 = grid.getSelectionModel().getSelected();// 返回当前行的记录集
//getDom 获取Dom元素的方法
Ext.getDom('name_e').value=rs1.get('name'); //
Ext.getDom('label_e').value=rs1.get('label'); //
Ext.getDom('price_e').value=rs1.get('price'); //说
Ext.getDom('youx_e').value=rs1.get('youx'); //是否有效
};
});
Extjs 4.2 quicktips,我想实现鼠标移到grid列表上的某一个单元格时,在tip框里显示该单元格的值
这个是利用qtip..只需要在column的renderer函数中写就可以 //....{text:"tip测试" , dataIndex:"tip" , renderer:function(v , ctx , record){ ctx.tdAttr = " data-qtip = '这里是TIP内容!'"; return v;}}//...给一个例子: http://runjs.cn/detail/aqin9x5g , 鼠标移到 第一列中就可以看到了ps: 需要在前面加上 Ext.tip.QuickTipManager.init();
EXT 提示信息求助(下面allowBlank中信息不能显示出来
注意哦,你的blankText 属性设置的控件是 label,
label组件就是单纯的显示一行字,验证的时候label是不会显示blankText的信息的,何况你的label也不是空的你给他设置了text是”部门“。
如果部门是手填写的可以用以下代码替换
xtype : "textfield",
fieldLabel : "部门:",
style : "padding:0px 0px 0px 0px;",
allowBlank : false,
blankText:"部门名称不能为空!",
width : 100
如果部门是用你那个TreeSelector选择的话,
就要问这个控件的作者 ,好像这个控件是扩展出来的吧。
为什么使用jquery validate进行表单验证时不能显示提示信息????
你的JS写的没问题,是不是缺一些东西
$.validator.setDefaults({
submitHandler: function (form) {
form.submit();
}
});
首先,取消默认的提交事件,等验证完后提交(写在$("#form").validate()之前)
focusInvalid: true,
// onfocusout: true,
onfocusout: function(element) { $(element).valid(); },
onkeyup: false,
设置触发事件 一般是失去光标的时候出发
errorPlacement: function (error, element) {
error.appendTo(element.parent());
},
设置错误信息提示dom.没有这句话即使验证了,也显示不出来
JS表单验证错误信息放在层内,填入错误的信息后错误信息显示在文本框内,用层的隐藏和显示实现
你好,帮你改好了,下面是改的部分js方面show函数的规范(小问题无关紧要)把 display=""; 改成 display="block";2. hidden 特大错误,新手必犯,hidden为保留方法,同reset不可以自己再定义,可改为hidden2html方面对form表单的type="submit"提交不了解,它不是简单的 button,点了它就提交触发onSubmit="return checkFrom();" 提交的新页面,如果不加return 那么无论是否正确,都会提交,就相当于页面被刷新了,什么都看不到。2.布局的问题,我先贴出我改的代码,再说明你的错误。 姓名不能为空请输入正确的中文姓名身份证位数不对说明:其中 onclick,onMouseOver,onMouseout自己选一种就可以了,我每个都写的不一样。要想明白为什么我这样写出现的位置是合适的,需要对相对定位有一定了解,既然你用了position:relative 说明你还是有所了解的。你的错误:style里面不能写成 ‘=’号 要写成 ‘:'号,要不然对应属性无效 (其实这个错误我也是找了很久才给你找出来的,所以没资格怪你)
ext radiogroup如何取值和设值
var radios = Ext.create('Ext.form.Panel', {
title: 'RadioGroup Example',
width: 300,
height: 125,
bodyPadding: 10,
renderTo: Ext.getBody(),
items:[{
xtype: 'radiogroup',
fieldLabel: 'Two Columns',
// Arrange radio buttons into two columns, distributed vertically
columns: 2,
vertical: true,
items: [
{ boxLabel: 'Item 1', name: 'rb', inputValue: '1' },
{ boxLabel: 'Item 2', name: 'rb', inputValue: '2', checked: true},
{ boxLabel: 'Item 3', name: 'rb', inputValue: '3' },
{ boxLabel: 'Item 4', name: 'rb', inputValue: '4' },
{ boxLabel: 'Item 5', name: 'rb', inputValue: '5' },
{ boxLabel: 'Item 6', name: 'rb', inputValue: '6' }
]
}]
});
里面有设置项,把checked设为true,拿值的话用
var val = radios.down('radiogroup').getValue()['rb'];
extjs 中radiogroup取值,怎么取啊
重写下getValue方法
//RadioGroup重写的getValue和setValue
Ext.override(Ext.form.RadioGroup, {
getValue: function(){
var v;
if (this.rendered) {
this.items.each(function(item){
if (!item.getValue())
return true;
v = item.getRawValue();
return false;
});
}
else {
for (var k in this.items) {
if (this.items[k].checked) {
v = this.items[k].inputValue;
break;
}
}
}
return v;
},
setValue: function(v){
if (this.rendered)
this.items.each(function(item){
item.setValue(item.getRawValue() == v);
});
else {
for (var k in this.items) {
this.items[k].checked = this.items[k].inputValue == v;
}
}
}
});
使用:
var radiogroup= new Ext.form.RadioGroup({
fieldLabel : "是否是系统管理员",
width : 60,
items : [{
boxLabel : '是',
inputValue : 'true',
name : "sysAdmin"
}, {
boxLabel : '否',
name : "sysAdmin",
checked : true,
inputValue : 'false'
}]
});
radiogroup.getValue();//取值
ExtJs小问题
1、paragraphClicked 这里是一个function指定一个参数e,
但是function的参数是调用它时才会传递给它。
所以e和上面的函数定义无关。
2、 Ext.select('p').on('click', paragraphClicked);
其中Ext.select('p')获取的是一个EXT的元素:Ext.Element,
而这个Ext.Element存在click这个点击事件。
Ext.Element的click事件传递的参数的什么e就是什么。
3、这里的e是指事件;
例如,我们单击click,则这个事件就是这里的e。
而e.target是指事件是哪个元素触发的;
例如,我们单击一个按钮,触发clcik事件,则这个按钮就是这个事件的target。