序列化封装 table数据和搜索条件的js小插件

           源码:(点击)

 

v1.2(以此版本为主,1.1版本直接忽略)

     $("#searchForm").serializeSearch();//针对搜索区

      $("#mainId").serializeTable();//针对table数据 进行封装成对象
参数作用类型默认值必填
bind针对table输入内容的数组封装为对象string''
resultType返回的类型(针对搜索区)string/objectstring
filter过滤不要的【name】字段Array[]

v1.1

tableSerializeV1.1.js :

1.简化js

2.$("#listTable").serializeTable({bind:""});

 2.1 bind属性简化,如上 如值为空 返回的则是 数组 如不为空  则返回的是对象数组
  
  ## serializeTable方法 
 2.2 移除参数 filter
 2.3 移除参数 able

3.$("#listTable").serializeSearch({'resultType':"object"});//

     3.1 resultType属性为空 默认对象 如{name:'lisi',age:26}  
          否则返回字符串例如 "name=lisi&age=26"  
     3.2 移除参数 filter
     3.3 移除参数 able

4.需要过滤的input select 等 加上class为need_ingore即可。

原始版本

tableSerialize.js :序列化-封装搜索区或者table内输入框下拉框内容的小插件

  var tables = $("#listTable").serializeSearch({'bind': { able: false}});
  //封装格式化 多table部分  
参数作用类型默认值必填
el绑定的idString'' (例如上面的‘#listTable’)
bind绑定封装后的对象属性Object'bind': { able: true}
ablebind下的属性Booleantrue
filter过滤不要的封装字段Array[]
 ##var mains = $("#mainContent").serializeSearch({'resultType':"object"});
 //封装格式化 多搜索区域 将其变成url后参数或者整个对象
参数作用类型默认值必填
el绑定的idString'' (例如上面的‘#mainContent’)
bind绑定封装后的对象属性Object'bind': { able: true}
ablebind下的属性Booleantrue
filter过滤不要的封装字段Array[]
resultType结果类型Oject/String(默认)实例score=100&age=10

 

这个目的在于传递参数或对象时 不需要挨个$("xx").val()的方式 同时也避免了form的序列化方法把一些隐藏域传入 造成不必要的麻烦。

 
 
tableSerializeV1.1.js  使用demo
 
  var tables = $("#listTable").serializeTable({'bind': { able: false}});//id是table 【 表格 】的id 针对下面input的值 封装成json对象
 
  var mains = $("#mainContent").serializeSearch({'resultType':"object"});//id是搜索区的id
 
其中参数部分:
 
 
 
 
 
tableSerializeV1.2.js 使用demo
 
var search =$("#mainContent").serializeSearch({resultType:'obj'});
console.log(search);//这里是个对象 一般是搜索栏的数据  
 
var tables = $("#listTable").serializeTable({bind:'list',filter:['status']});
console.log(tables);//这里是个数组对象
 
优化如下:1. 参数结果扁平化 只有三个形参  bind 绑定, filter 过滤字段 resultType 返回类型
                 2. 方法  serializeSearch 和  serializeTable 使用了not方法 过滤不需要的class控件值,过滤class为 need_ingore. 搜索方法 serializeSearch 通过这个直接返回连接参数 格式为 name='liming'&age=18 ,不需要像之前拼接的方式进行处理。
      3.过滤的字段(针对table里面的控件值) 提过两种方式过滤  一是设置 class为need_ingore , 二是如上面紫色字体标注 设置filter的值,值为对应过滤控件的name的值。
 
 

源码:(点击)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序员ken

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值