table转json神器

  • A+
所属分类:前端

前端向后端利用ajax传值,在表单不复杂的情况下,可以使用jQuery的serialize()来搞定。

比如

<form action="">
First name: <input type="text" name="FirstName" value="Open" /><br />
Last name: <input type="text" name="LastName" value="Shell" /><br />
</form>
$(document).ready(function(){
    console.log($("form").serialize()); // FirstName=Open&LastName=Shell
});

可是在表单比较复杂的情况,用serialize()就不一定能满足需要了。

今天我发现个神器:Table-to-JSON

直接上例子

table转json神器

var table = $('#editable-sample').tableToJSON({
   ignoreColumns:[0,4], //过滤掉第1、4列
   extractor:{          //抽取指定列的数据
      1:function(cellIndex,$cell){
         var exeId=$cell.find("option").map(function(){
            return $(this).val();
         });
         return exeId;
      },
      2:function(cellIndex,$cell){
         return $cell.find('input[id=dealTimeLimit]').val();
      },
      3:function(cellIndex,$cell){
         return $cell.find('textarea[name=taskRemark]').val();
      }
   }
});

打印table信息如下

[
    {
        "listTaskExecutor_executor": {
            "0": "538",
            "1": "524",
            "2": "643",
        },
        "dealTimeLimit": "2019-10-10",
        "taskRemark": "任务描述1"
    },
    {
        "listTaskExecutor_executor": {
            "0": "114",
            "1": "394"
        },
        "dealTimeLimit": "2019-10-12",
        "taskRemark": "任务描述2"
    }
]

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: