一个字符串拼接问题,困扰一天了,求解

yj7758423 2017-03-13 10:16:05
首先有一个div:<div id="dv">
我想用html()方法添加一个button,点击button跳转下个页面,把这两个参数带过去,info最好不要动,格式是固定的

不要去纠结我为什么要这样做

var info = "{\"name\":\"jay\",\"mail\":\"q123@163.com\"}";
var id = "d5010";

//卡在这一步了,不知道怎么把两个变量传进去,我这样写,直接不进open方法,如果只传info,会变成一个json对象
var bt = "<button onclick='open("+info+","+id+")'>下一步</button>";
//info两段加单引号不行,加"也试过了,还是不行
$("#dv").html(bt);


目前我想到的做法是把id也放进info,但是后面还要自己解析,把原来的info拆出来,主要也是想搞清楚怎么传参,传入两个变量
目测这是一个很简单的问题,大神教教我
...全文
454 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
xuandlv 2017-03-23
  • 打赏
  • 举报
回复
引用 5 楼 dolly_baby 的回复:
,info是json对象,传递之前可以先调用 toJSONString方法将其转换成字符串。如果觉得本人提供的建议有助于你解决问题,请转1元辛苦费到账户1339405643@qq.com,支持一下原创。
已举报
爱睡懒觉的朱 2017-03-22
  • 打赏
  • 举报
回复
拼接字符串是不能传json格式的数据的,之前就碰到过这种坑,个人的解决办法是后面再绑定button的click事件,那样就可以了。
蚂蚁上树 2017-03-20
  • 打赏
  • 举报
回复
引用 5 楼 dolly_baby 的回复:
,info是json对象,传递之前可以先调用 toJSONString方法将其转换成字符串。如果觉得本人提供的建议有助于你解决问题,请转1元辛苦费到账户1339405643@qq.com,支持一下原创。
老哥真稳
快乐江小鱼 2017-03-18
  • 打赏
  • 举报
回复
,info是json对象,传递之前可以先调用 toJSONString方法将其转换成字符串。如果觉得本人提供的建议有助于你解决问题,请转1元辛苦费到账户1339405643@qq.com,支持一下原创。
Navymk 2017-03-17
  • 打赏
  • 举报
回复
info和id如果在全局域里,直接写参数名就可以了。

var bt = "<button onclick='open(info,id)'>下一步</button>"; 
hongyuan98786811 2017-03-17
  • 打赏
  • 举报
回复
为什么不用模板字符串呢 ` <button onclick='open(${info},${id})'>下一步</button> `
Go 旅城通票 2017-03-14
  • 打赏
  • 举报
回复
info用encodeURIComponent编码下,使用的时候用decodeURIComponent解码就得到原内容
    var bt = "<button onclick='dopen(\"" + encodeURIComponent(info) + "\",\"" + id + "\")'>下一步</button>";
天际的海浪 2017-03-13
  • 打赏
  • 举报
回复
主要是代码双重解析的引号处理问题

           var bt = "<button onclick='open(\""+info.replace(/\"/g,"\\\"")+"\",\""+id+"\")'>下一步</button>"; 

87,921

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧