jQuery.extend({
toJSON : function _toJSON(obj){
var json = "";
for(var i in obj){
if(obj[i] instanceof Array ){
json = json + i + ": [" + _toJSON(obj[i]) + "]";
return json;
}
if(obj[i] instanceof Object){
for(var attr in obj[i]){
json = json + attr + ": " + obj[i][attr];
}
json += ', ';
continue;
}
json += obj[i];
if( i < (obj.length - 1 )){
json += ", ";
}
}
return json;
},
serialize : function(selector){
var arr = [];
$(selector).find("input, select").map(function(index , ele){
var type = $(ele).attr("type");
var item = {};
if(type != 'undefined' && type != null){
if(type == 'radio'){
if($(ele).attr("checked") == 'checked'){
item[$(ele).attr("name")] = $(ele).val();
arr.push(item);
return;
}
return;
}
if(type == 'checkbox' ){
if($(ele).attr("checked")){
var list = arr[$(ele).attr("name")];
if(list == 'undefined' || list == null){
list = new Array();
}
list.push($(ele).val());
arr[$(ele).attr("name")] = list;
return;
}
return;
}
}
item[$(ele).attr("name")] = $(ele).val();
arr.push(item);
});
return jQuery.toJSON(arr);
}
});
toJSON : function _toJSON(obj){
var json = "";
for(var i in obj){
if(obj[i] instanceof Array ){
json = json + i + ": [" + _toJSON(obj[i]) + "]";
return json;
}
if(obj[i] instanceof Object){
for(var attr in obj[i]){
json = json + attr + ": " + obj[i][attr];
}
json += ', ';
continue;
}
json += obj[i];
if( i < (obj.length - 1 )){
json += ", ";
}
}
return json;
},
serialize : function(selector){
var arr = [];
$(selector).find("input, select").map(function(index , ele){
var type = $(ele).attr("type");
var item = {};
if(type != 'undefined' && type != null){
if(type == 'radio'){
if($(ele).attr("checked") == 'checked'){
item[$(ele).attr("name")] = $(ele).val();
arr.push(item);
return;
}
return;
}
if(type == 'checkbox' ){
if($(ele).attr("checked")){
var list = arr[$(ele).attr("name")];
if(list == 'undefined' || list == null){
list = new Array();
}
list.push($(ele).val());
arr[$(ele).attr("name")] = list;
return;
}
return;
}
}
item[$(ele).attr("name")] = $(ele).val();
arr.push(item);
});
return jQuery.toJSON(arr);
}
});