我具有一个填充多个按钮的函数,每个按钮都有自己的单击功能:
$("#event_list").append(
"<button type='button' onClick='showInfo("+i+",'"+name+"')'> Event:<br>"+events_arr[i][2]+"<br> Organizer:<br>"+events_arr[i][1]+"</button>"
);
函数showinfo在文件中的其他位置定义(i是一个数字,名称是字符串)
function showInfo(i, name)
{
console.log("showInfo works");
//makeTable12(i, name);
//makeTable24(i);
}
每当我单击这些按钮时,Chrome都会抛出Uncaught SyntaxError: Unexpected token }
我不知道为什么这样做。所有的帮助都将受到赞赏!
,由于您用单引号将onclick
内容包装了'
,因此您应该用double-Quotes包装该函数的参数(但请注意,您应该逃脱它们):
onClick='showInfo("+i+",""+name+"")'
检查以下片段:
i = 0;
name = 'test';
events_arr = [['', '', '']];
$("#event_list").append(
"<button type='button' onClick='showInfo("+i+",""+name+"")'> Event:<br>"+events_arr[i][2]+"<br> Organizer:<br>"+events_arr[i][1]+"</button>"
);
function showInfo(i, name)
{
console.log("showInfo works");
//makeTable12(i, name);
//makeTable24(i);
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="event_list"></div>