jquery easyui 中扩展datagrid自定义方法

1.在easyui 中当业务中涉及到要为datagrid控件添加一些动态属性设置时,可能会用到自定义方法

$.extend($.fn.datagrid.methods, {    
    setDColumnTitle: function(jq, option){    
        if(option.field){  
            return jq.each(function(){    
                var $panel = $(this).datagrid("getPanel");  
                var $field = $('td[field='+option.field+']',$panel);  
                if($field.length){  
                    var $span = $("span",$field).eq(0);  
                    var $span1 = $("span",$field).eq(1);  
                    $span.html(option.title);  
                    $span1.html(option.title);  
                }  
            });  
        }  
        return jq;        
    } ,    
    removeRequired: function(jq, field){    
    if(field){  
            return jq.each(function(){    
                var $panel = $(this).datagrid("getPanel");  
                var $field = $('td[field='+field+']',$panel);  
                if($field.length){  
                    var $input = $("input",$field);                   
                    $input.removeClass("validatebox-text validatebox-invalid").unbind('focus').unbind('blur');
                }  
            });  
        }  
        return jq;            
    },  
    addRequired: function(jq, field){ 
    if(field){  
            return jq.each(function(){    
                var $panel = $(this).datagrid("getPanel");  
                var $field = $('td[field='+field+']',$panel);  
                if($field.length){  
                    var $input = $("input",$field);                   
                    $input.addClass("validatebox-text validatebox-invalid").unbind('focus').unbind('blur');
                }  
            });  
        }          
    },
    addEditor : function(jq, field) {  
    if(field){  
            return jq.each(function(){    
                var $panel = $(this).datagrid("getPanel");  
                var $field = $('td[field='+field+']',$panel);  
                if($field.length){  
                    var $input = $("input",$field);                   
                    $input.removeAttr("readonly");
                }  
            });  
        }  
        return jq;   
    },  
    removeEditor : function(jq, field) {  
    if(field){  
            return jq.each(function(){    
                var $panel = $(this).datagrid("getPanel");  
                var $field = $('td[field='+field+']',$panel);  
                if($field.length){  
                    var $input = $("input",$field);                   
                    $input.attr("readonly","readonly");
                }  
            });  
        }  
        return jq;   
    },  
    disabled : function(jq, field) {  
    if(field){  
            return jq.each(function(){    
                var $panel = $(this).datagrid("getPanel");  
                var $field = $('td[field='+field+']',$panel);  
                if($field.length){  
                    var $input = $("input",$field);                   
                    $input.attr("disabled","disabled");
                }  
            });  
        }  
        return jq;   
    }    
}); 


2.添加自定义验证规则

$.extend($.fn.validatebox.defaults.rules, {   
checkCIDR : {// 验证CIDR  
            validator : function(value) {  
                var reg = /^((1?\d?\d|(2([0-4]\d|5[0-5])))\.){3}(1?\d?\d|(2([0-4]\d|5[0-5])))[/]([0-9]|([1-2][0-9])|(3[0-2]))$/ ;  
                return reg.test(value);  
            },  
            message : 'CIDR格式不正确'  
},
portInteger : {// 验证整数  
            validator : function(value) {  
                return /^[+|-]?[1-9]+\d*$/i.test(value);  
            },  
            message : '请输入整数'  
        }
}); 


发布了13 篇原创文章 · 获赞 5 · 访问量 10万+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章