Comment puis-je concatener une chaîne de paramètres dans la fonction javascript sur une chaîne dans un html ajouté?

C'est mon code pour html

<div id="content"></div> 

Ensuite, j'ajoute un inpunt à #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"); } 

La première entrée fonctionne très bien, mais la deuxième entrée ne fonctionne pas une fois que le document est prêt. Quelle est la meilleure façon de déclarer une fonction dans ce cas?

Vous pourriez faire ceci:

 onclick="getValue2("' + parameter + '")" 

Mais quelque chose comme ça serait mieux:

 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); 

Vous pouvez essayer ceci:

 '<input type="submit" name="submit_answers" value="Submit" onclick="getValue2(\'' + parameter + '\');" >' 

Essaye ça :

 $( 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>'); }); 

La deuxième contribution devrait être quelque chose comme ça.

 '<input type="submit" name="submit_answers" value="Submit" onclick="getValue2('+parameter+')" >'