您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息

jQuery前台数据获取实现代码_jquery

2025/8/25 18:35:36发布29次查看
jproviderdata
复制代码 代码如下:
///
$j = jquery.noconflict();
(function ($j) {
$j.providerdata={
defaultsettings: {
select_span_items: false,
select_td_items: false,
select_li_items: false
},
init:function(options){
opts = $j.extend({}, $j.providerdata.defaultsettings, options);
singleitemjsonformat='{0}:{1}';
divitemformat='{{0}}';
tableitemformat='{0}';
},
getdataname:function(item){
var dataname = item.attr(dataname);
if(typeof dataname === 'undefined'||dataname==){
dataname = item.attr(id);
}
if(typeof dataname === 'undefined'||dataname==){
dataname=item.text();
}
if(typeof dataname === 'undefined'||dataname==){
dataname=item[0].innertext;
}
return dataname;
},
getdata:function(selector){
//var selector=opts.selector;
var items;
if(typeof selector!==object){
items=$j(selector);
}
else{
items=selector;
}
var retjsonvalue=;
var subselector=:input;
if (opts.select_span_items) {
subselector = subselector + ,span;
}
if (opts.select_li_items) {
subselector = subselector + ,li;
}
if(opts.select_td_items){
subselector = subselector + ,td;
}
$j.each(items,function(i,item){
var t=$j(this);
var dataname=$j.providerdata.getdataname(t);
//return:'{dataname:value}'
if($j.util.isinput(t)){
var value=t.val();
var itemstr= string.format(singleitemjsonformat,dataname,value);
retjsonvalue=retjsonvalue+itemstr+,;
retjsonvalue=retjsonvalue.trimend(,);
}
//return:'{dataname1:value1,dataname2:value2}'
else if($j.util.isdiv(t)){
var subitems = t.find(subselector);
var substr = ;
$j.each(subitems, function (i, subitem) {
//递归调用 处理子元素
var tempsubitemstr = $j.providerdata.getdata(#+$j(this).attr(id));
substr = substr + , + tempsubitemstr;
})
substr=substr.trimstart(,);
retjsonvalue=string.format(divitemformat,substr);
}
//return:'[{dataname1:value1,dataname2:value2},{dataname1:value3,dataname2:value4}]'
else if($j.util.istable(t)){
var tritems=t.find(tr:gt(0));
//迭代处理table中的每一行
$j.each(tritems,function(i,tritem){
//处理行,找出行中的要收集数据的元素
var subitems =$j(this).find(subselector);
var substr = ;
//迭代处理行中所有需要收集数据的元素
$j.each(subitems,function(i,subitem){
if($j.util.isinput($j(this))){
var tempsubitemstr = $j.providerdata.getdata(#+$j(this).attr(id));
substr = substr + , + tempsubitemstr;
}
else{
//如果是td元素,且他里面不包含input元素
if( $j.util.istd($j(this)) && ($j(this).find(:input).length==0)){
var tempsubitemstr = $j.providerdata.getdata($j(this));
substr = substr + , + tempsubitemstr;
}
}
});
substr=substr.trimstart(,);
retjsonvalue= retjsonvalue+string.format(divitemformat,substr)+,;
});
retjsonvalue=retjsonvalue.trimend(,);
retjsonvalue=[+retjsonvalue+];
}
//return:'{dataname:value}'
else if($j.util.isli(t)){
var value=t.text();
var itemstr= string.format(singleitemjsonformat,dataname,value);
retjsonvalue=retjsonvalue+itemstr+,;
retjsonvalue=retjsonvalue.trimend(,);
}
//return:'{dataname:value}'
else if($j.util.istd(t)){
var value=t.text();
// var rowindex = t.parent().prevall().length;
//获取当前列的列索引
var colindex = t.prevall().length;
//dataname由列的的列头中dataname属性决定,如果找不到由列头的内容决定
var thitem=t.parent().parent().parent().find(th:eq(+colindex+));
if(thitem.length==1){
dataname=$j.providerdata.getdataname(thitem);
}
var itemstr= string.format(singleitemjsonformat,dataname,value);
retjsonvalue=retjsonvalue+itemstr+,;
retjsonvalue=retjsonvalue.trimend(,);
}
});
return retjsonvalue;
}
};
jproviderdata=function(options){
$j.providerdata.init(options);
return $j.providerdata.getdata(options.selector);
};
})(jquery);
复制代码 代码如下:
string.prototype.trimstart = function(trimstr){
if(!trimstr){return this;}
var temp = this;
while(true){
if(temp.substr(0,trimstr.length)!=trimstr){
break;
}
temp = temp.substr(trimstr.length);
}
return temp;
};
string.prototype.trimend = function(trimstr){
if(!trimstr){return this;}
var temp = this;
while(true){
if(temp.substr(temp.length-trimstr.length,trimstr.length)!=trimstr){
break;
}
temp = temp.substr(0,temp.length-trimstr.length);
}
return temp;
};
string.prototype.trim = function(trimstr){
var temp = trimstr;
if(!trimstr){temp= ;}
return this.trimstart(temp).trimend(temp);
};
string.format = function () {
if (arguments.length == 0) {
return null;
}
var str = arguments[0];
for (var i = 1; i var re = new regexp('\\{' + (i - 1) + '\\}', 'gm');
str = str.replace(re, arguments[i]);
}
return str;
}
(function ($j) {
$j.util = {
_comparetagname : function (item, tagname) {
return item.attr(tagname).touppercase() == tagname.touppercase();
},
istable: function (item) {
return $j.util._comparetagname(item, table);
},
isdiv: function (item) {
return $j.util._comparetagname(item, div);
},
isinput: function (item) {
return $j.util._comparetagname(item, input);
},
isspan: function (item) {
return $j.util._comparetagname(item, span);
},
isli: function (item) {
return $j.util._comparetagname(item, li);
},
istd: function (item) {
return $j.util._comparetagname(item, td);
}
};
})(jquery);
该用户其它信息

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录 Product