EasyUI移除select校驗

$.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代碼 
  1. $("#addValidate2").validatebox('remove');  

 

 

如果刪除的是combo的極其子對象的使用此方法

Js代碼 
  1. $("#addValidate2").validatebox('remove',true);  


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章