一份不错的可通用的js
,封装了一些自定义的 js方法。
Date.prototype.Format = function (fmt) { // author: meizz
var o = {
"M+": this.getMonth() + 1, // 月份
"d+": this.getDate(), // 日
"h+": this.getHours(), // 小时
"m+": this.getMinutes(), // 分
"s+": this.getSeconds(), // 秒
"q+": Math.floor((this.getMonth() + 3) / 3), // 季度
"S": this.getMilliseconds() // 毫秒
};
if (/(y+)/.test(fmt)) fmt = fmt.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length));
for (var k in o)
if (new RegExp("(" + k + ")").test(fmt)) fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length)));
return fmt;
}
var Common = {
init:{
choose:function(object){
$.ajax({
url:object.url,
data:(object.data),
type:'get',
success:function(res){
if(object.success&& typeof(object.success) == 'function' ){
object.success(res);
}else{
var _options = '<option value="">-- 请选择 --</option>';
for ( var index in res) {
_options += '<option value="' + res[index][object.key] + '" >'
+ res[index][object.value] + '</option>';
}
$(object.target).html(_options);
}
},
error:function(e){
if(object.error&& typeof(object.error) == 'function' ){
object.error(e);
}
}
})
}
},
ajaxConnection:{
uploader:function(object) {
$.ajax({
url:object.url,
type:"post",
data:new FormData($(object.form)[0]),
async:false,
cache:false,
processData:false,
contentType:false,
success:function(res){
if(object.success&& typeof(object.success) == 'function' ){
object.success(res);
}
},
error:function(e){
if(object.err && typeof(object.error) == 'function'){
object.error(e)
}
}
});
},
post:function(object){
$.ajax({
url:object.url,
type:'post',
data:object.data,
async:true,
success:function(data){
if(object.success && typeof(object.success) == 'function' ){
object.success(data);
}
}
})
},
syncPost:function(object){
$.ajax({
url:object.url,
type:'post',
data:object.data,
async:false,
success:function(data){
if(object.success && typeof(object.success) == 'function' ){
object.success(data);
}
}
})
},
get:function(object){
$.ajax({
url:object.url,
type:'get',
data:object.data,
async:true,
success:function(data){
if(object.success && typeof(object.success) == 'function' ){
object.success(data);
}
},
error:function(e){
if(object.err && typeof(object.error) == 'function'){
object.error(e)
}
}
})
}
},
ztree:{
simple:function(object){
var setting = {
view: {
addHoverDom: false,
removeHoverDom: false,
selectedMulti: false
},
check: {
enable: object.isCheck
},
data: {
simpleData: {
enable: true,
idKey:object.idKey,
pIdKey:object.pIdKey,
rootPId:0
},
key:{
name:object.name
}
},
edit: {
enable: object.isEdit
}
};
$.fn.zTree.init($(object.target), setting, object.zNodes);
if(object.isExpand){
$.fn.zTree.getZTreeObj(object.target.slice(1)).expandAll(object.isExpand);
}
},
changeTreeChk:function(object){
$.ajax({
url:object.url,
type:'post',
data:object.data,
success:function(res){
var treeObj = $.fn.zTree.getZTreeObj(object.target);
treeObj.checkAllNodes(false);
for(var index in res){
var $node =treeObj.getNodesByFilter(function(node){if(node.menuId == res[index] && !node.isParent ) return true}, true)
if($node){
treeObj.checkNode($node, true, true);
}
}
}
})
},
getCheckedNodes:function(object){
var treeObj = $.fn.zTree.getZTreeObj(object.target);
var nodes = treeObj.getCheckedNodes(object.isChecked);
var menuIds = new Array();
for(var index in nodes){
if(nodes[index].menuId != 0){
menuIds.push(nodes[index].menuId);
}
}
return menuIds;
}
},
formDate:{
toJson:function(object){
if(!object.data){
object.data = {}
}
var formData = $(object.target).serializeArray()
for(var item in formData){
if(formData[item].value){
object.data[formData[item].name] = formData[item].value
}
}
return object.data;
},
jsonToForm:function(object){
var data = object.data;
for(var item in data){
if(data[item]){
$($(object.target).find('input[name='+item+']')).val(data[item]);
}
}
}
},
validate:function(object){
var settings={
event:'blur',
reg:{
email:/^(\w-*\.*)+@(\w-?)+(\.\w{2,})+$/,
phone:/^1\d{10}$/,
},
check:{
remote:function(){
return true;
}
},
messages:{
email:'邮箱格式不正确',
phone:'手机号码格式不正确',
required:'必填'
},
error:{
clas:'has-error'
}
}
$.extend(settings, object);
//email
$('.com-val-email').on(settings.event,function(){
opration(this,settings,settings.reg.email,settings.messages.email)
})
//phone
$('.com-val-phone').on(settings.event,function(){
opration(this,settings,settings.reg.phone,settings.messages.phone)
})
//required
$('.com-val-required').on(settings.event,function(){
var _this=this;
var _div = $(_this).parent();
if($(_this).val()){
$(_div).removeClass(settings.error.clas)
$(_div).find('span').remove()
}else{
$(_div).removeClass(settings.error.clas)
$(_div).find('span').remove()
$(_div).append('<span class="help-block m-b-none"><i class="fa fa-times-circle"></>'+settings.messages.required+'</span>')
$(_div).addClass(settings.error.clas)
}
})
function opration(_this,settings,reg,message){
var _div = $(_this).parent();
if(!$(_this).val()||reg.test($(_this).val())){
$(_div).removeClass(settings.error.clas)
$(_div).find('span').remove()
}else{
if($(_div).find('span').length < 1){
$(_div).append('<span class="help-block m-b-none"><i class="fa fa-times-circle"></>'+message+'</span>')
$(_div).addClass(settings.error.clas)
}
}
}
}
}
var newCount = 1;
function addHoverDom(treeId, treeNode) {
var sObj = $("#" + treeNode.tId + "_span");
if (treeNode.editNameFlag || $("#addBtn_"+treeNode.tId).length>0) return;
var addStr = "<span class='button add' id='addBtn_" + treeNode.tId
+ "' title='add node' onfocus='this.blur();'></span>";
sObj.after(addStr);
var btn = $("#addBtn_"+treeNode.tId);
if (btn) btn.bind("click", function(){
var zTree = $.fn.zTree.getZTreeObj("treeDemo");
zTree.addNodes(treeNode, {menuid:(100 + newCount), prentId:treeNode.id, name:"new node" + (newCount++)});
return false;
});
};
function removeHoverDom(treeId, treeNode) {
$("#addBtn_"+treeNode.tId).unbind().remove();
};
更多内容请访问:IT源点
注意:本文归作者所有,未经作者允许,不得转载