簡體   English   中英

如何在附加的 html 中的字符串上連接 javascript 函數中的參數字符串?

[英]How Can I concatenate a parameter string in javascript function on string in appended html?

這是我的 html 代碼

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

然后我將一個輸入附加到#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");
}

第一個輸入效果很好,但文檔准備好后第二個輸入不起作用。 在這種情況下聲明函數的更好方法是什么?

你可以試試這個:

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

你可以這樣做:

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

但這樣的事情會更好:

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

我想你可能只是沒有正確分離。

試試這個例子:

onclick= "mySup(\''+json.id+'\',\''+json.description+'\');"

嘗試這個 :

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

第二個輸入應該是這樣的。

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM