I’m append html code using jquery append
function. If on onclick
I use function with one parameter – all right, but if I use function with multiple parameters I get error in console: SyntaxError: missing ) after argument list
. My code:
JavaScript
x
3
1
var quote = quotes[i];
2
$('#quu').append('<div onclick="addBook('+quote.userId+', '+quote.book+')">'+quote.book+'</div>')
3
Function addBook:
JavaScript
1
5
1
function addBook(user_id, name) {
2
alert(name);
3
alert(user_id);
4
}
5
What I’m doing wrong?
Advertisement
Answer
You need to add quotes to the name quote.book
since it shall be passed as a string parameter to the function addBook
JavaScript
1
2
1
$('#quu').append('<div onclick="addBook('+quote.userId+', ''+quote.book+'')">'+quote.book+'</div>')
2
JavaScript
1
12
12
1
var quote = {userId : 1, book: "The GodFather"};
2
3
$(document).ready(function(){
4
5
$('#quu').append('<div onclick="addBook('+quote.userId+', ''+quote.book+'')">'+quote.book+'</div>');
6
7
});
8
9
function addBook(user_id, name) {
10
console.log(name);
11
console.log(user_id);
12
}
JavaScript
1
2
1
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
2
<div id="quu"></div>