您的位置:首页 > 产品设计 > UI/UE

EasyUI移除select校验

2013-11-14 18:56 302 查看
$.extend($.fn.validatebox.methods, {
remove : function(jq, param) {
//console.error("ddd",$.data(jq[0], 'combo').combo);
var f = param ? param : false;
if (f) {
//动态combo
var v = $.data(jq[0], 'combo').combo.find('input.combo-text')[0];
var opts = $.data(jq[0], 'combo').options;
delete (opts.validType);
//主体面板
var panel = $.data(jq[0], 'combo').panel.find('div.combobox-item');
//console.error("items",panel.length);
//找到下拉箭头
var arrow = $.data(jq[0], 'combo').combo.find('.combo-arrow');
//删除所有的监听
arrow.unbind('.validatebox');
} else {
var v = jq[0];
}

if ($.data(v, 'validatebox')) {
//console.error("ddd11111",$.data(v,'validatebox').options);
var tip = $.data(v, 'validatebox').tip;
if (tip) {
tip.remove();
}
$(v).removeClass('validatebox-invalid');
$(v).removeClass('validatebox-text');
$(v).unbind('.validatebox');
$(v).die('focus');
$(v).removeData('validatebox');
}
}
});

在分析eayui的validatebox的源代码中发现,该验证框架不支持删除验证的方法,在api中可以看见有个destroy方法,这个方法不是用来删除验证的,而是把元素和验证都一块删除,所以不符合逻辑。

如果删除的是普通的即非combo的使用此方法:

 

Js代码 

$("#addValidate2").validatebox('remove');  

 

 

如果删除的是combo的极其子对象的使用此方法

Js代码 

$("#addValidate2").validatebox('remove',true);  
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  easyui 移除 删除