JavaScript——字符串拼接—事件传对象参数

本文介绍了如何在BootstrapTable中使用JavaScript实现表格的编辑功能,通过将行数据对象作为参数传递,并解析JSON字符串到Object。重点讨论了数据类型转换及方法调用中的字符串处理技巧。
摘要由CSDN通过智能技术生成

一、案例代码

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
</head>
<body>
  <a href="javascript:void(0);"  onclick='open1({"name":"张三"})'>测试</a>
</body>
</html>
<script>

  function open1(obj) {
    console.log(obj)
  }
</script>

二、实践代码

  1. 技术背景描述
    使用bootstrapTable 插件渲染表格,并在操作列添加编辑按钮,点击编辑把当前行的数据对象,当做参数传过去
  2. 代码实现
$('#tDelayTable').bootstrapTable({
	......
	columns : [
		.......
		{
           field : 'operate',
           title : '操作',
           valign : 'middle',
           width : 100,
           align : 'center',
           formatter: function(value, rec, index) {
			   console.log(rec)  // 当前行 数据对象
			   // {name: "张三"}
			   console.log(typeof rec) // object 对象类型
			   let data = JSON.stringify(rec)  // 把对象 转换为 JSON 字符串
			   console.log(data) // JSON 字符串
			   // {"name":"张三"}
			   console.log(typeof data) // 字符串类型
			   let href = "<a href='#' οnclick='editDelay(" + data  + ")'>编辑</a>";
			   // 因为data的内容都是双引号,为了避免与方法名editDelay的双引号起冲突,
			   // 因此这里方法名,使用单引号区分开来,
			   // 为了避免方法名的单引号与 整个字符串的单引号冲突, 所以整个字符串拼接使用双引号
			   return href;
		   }	
	    }
	]
})

function editDelay(data) {
	console.log(typeof data)  // object 对象类型
	console.log(data) 
	// {name: "张三"}
	PS: 传入的时候是JSON字符串, 但是接收的时候是Object对象,个人猜测 formatter 方法对返回数据做了类型转换的处理, 欢迎大家交流讨论!
	
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

帝博格T-bag

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

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

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

打赏作者

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

抵扣说明:

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

余额充值