onclick事件和json数据不会啮合在一起

时间:2014-01-06 14:29:50

标签: javascript jquery html

我有一个愚蠢的错误,我似乎无法解决一些问题。我只是想做以下事情:

onclick="CreatePro('x','y','z')"

我基本上想要将文本传递给CreatePro函数。现在我的x,y和z值是json数据。因此,这是我正在使用的javascript:

var Provision =  "'" + data[i].ProvisionID  + "'";
var Title = "'" + data[i].Title + "'";
var Author = "'" + data[i].Author + "'";
var Edition = "'" + data[i].Edition + "'";
var Publisher = "'" + data[i].Publisher+ "'";
var ISBN =  "'" + data[i].ISBN + "'";
var UserID = "'"  +data[i].UserID + "'";
var Price = "'" + data[i].Price+ "'";
var Condition = "'"  +data[i].Condition +"'";

Row = Row + "<td><input type='button' onclick='CreatePro(" + Provision + "," + Title+ "," + Author + "," + Edition + "," + Publisher  +"," + ISBN  + ","+ UserID + ","+ Price + "," + Condition + ")' value='Create'></td></tr>";
console.log(Row);

现在,当我使用console.log时,我得到以下内容:

<td><input type='button' onclick='CreatePro('19','dfjeryj','ertj','0','tj','0000000000000','4','0','0')' value='Create'></td>

但是当我检查我所拥有的元素时:

<input type="button" onclick="CreatePro(" 19','dfjeryj','ertj','0','tj','0000000000000','4','0','0')'="" value="Create">

问题是可疑的是“在上面这一行。但我不知道为什么会发生这种情况?从控制台日志开始。我的报价似乎匹配。所以我不确定为什么浏览器会混淆它们?也许我在某个地方出错?(坦率地说,我可以看到错误)。每次点击创建按钮时,事件都不会调用我的CreatePro函数。我真的不确定我做错了什么或者也许是做我正在做的事情的更好方式

1 个答案:

答案 0 :(得分:0)

你的报价错了。它应该是:

Row = Row + "<td><input type='button' onclick=\"CreatePro('" + Provision + "','" + Title+ "','" + Author + "','" + Edition + "','" + Publisher  +"','" + ISBN  + "','"+ UserID + "','"+ Price + "','" + Condition + "')\" value='Create'></td></tr>";