This is my code for html
<div id="content"></div>
Then I append an inpunt to #content:
$( document ).ready(function() {
// Handler for .ready() called.
var parameter = "<p>Hola</p>";
$("#content").append('<div><p>click the button</p>'+
'<input type="submit" name="submit_answers" value="Submit" onclick="getValue();" >'+
'<input type="submit" name="submit_answers" value="Submit" onclick="'+getValue2(parameter)+'" >'+
'</div>');
});
function getValue2(parameter){
alert(parameter);
}
function getValue(){
alert("Hola");
}
The first input works very well, but the second input dosen´t work after document is ready. What´s the better way to declare a function in this case?
You could do this:
onclick="getValue2("' + parameter + '")"
But something like this would be better:
var $div = $('<div><p>click the botton</p></div>');
var $button = $('<input type="submit" name="submit_answers" value="Submit">')
.data('parameter', parameter)
.click(function () {
getValue2($(this).data('parameter'));
}).appendTo($div);
$("#content").append($div);
You can try this:
'<input type="submit" name="submit_answers" value="Submit" onclick="getValue2(\'' + parameter + '\');" >'
I think you probably just weren't separating correctly. Try this exemple:
onclick="mySup(\''+json.id+'\',\''+json.description+'\');"
Try this :
$( document ).ready(function() {
// Handler for .ready() called.
var parameter = "<p>Hola new</p>";
$("#content").append('<div><p>click the botton</p>'+
'<input type="submit" name="submit_answers" value="Submit" onclick="getValue();" >'+
'<input type="submit" name="submit_answers" value="Submit" onclick="getValue2(\''+parameter+'\');" >'+
'</div>');
});
The second input should be something like that.
'<input type="submit" name="submit_answers" value="Submit" onclick="getValue2('+parameter+')" >'