自定义 jQuery repeater 插件。学习用。。。
http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">    
http://www.w3.org/1999/xhtml">    
    
    
(function ($) {   
    $.fn.repeater = function (options) { 
var opts = $.extend({}, $.fn.repeater.defaults, options);
        var len = opts.dataSrc.length;   
        var regCach = {};    
        for (var i = 0; i < len; i++) {    
            var data = opts.dataSrc[i];    
            if (opts.beforeItemDataBound) {    
                opts.beforeItemDataBound({ "dataItem": data });    
            } 
            var itemCnt = opts.itemTemplate;   
            for (var name in data) {    
                if (!regCach[name]) {    
                    regCach[name] = new RegExp("{{" + name + "}}", "gi");    
                }    
                itemCnt = itemCnt.replace(regCach[name], data[name]);    
            }    
            var itemJQ = $(itemCnt);    
            if (opts.itemDataBound) {    
                opts.itemDataBound({ "dataItem": data, "dataCnt": itemJQ });    
            }    
            itemJQ.appendTo(this); 
}
return this;
}
$.fn.repeater.defaults = {
itemTemplate: "",
        //执行数据绑定之前的操作,可以对数据进行一次处理并.调用参数{"dataItem":data };   
        beforeItemDataBound: null, //    
        // 数据绑定完成之后的操作。返回生成新的jQuery对象 .调用参数     
        //  返回值:新的jQuery对象    
        // {"dataItem":data,"dataCnt":itemCnt}    
        // data:原始数据或是经过 beforeItemDataBound 处理过的数据。    
        // itemCnt  :模板数据格式化后的 jQuery对象。    
        itemDataBound: null,    
        dataSrc: []    
    }    
})(jQuery);
                    
                
                
            
        
浙公网安备 33010602011771号