[英]javascript onclick function with parameter
我有以下JavaScript對象:
function Project(name)
{
this.panel = $('#worksheet_panel');
this.name = name;
this.workBox =
'<div class="worksheet_box">'+
' <div class="list-group">'+
' <button class="btn btn-block btn-primary btn_work_add" onclick="setProject('+this.name+');" data-toggle="modal" data-target=".workModal">Add</button>'+
' </div>'+
'</div>'+
'</div>';
function changeName(name)
{
this.name = name;
}
this.addElement = function()
{
this.element =
'<div id="1" class="col-md-3 table-bordered worksheet_overall_box" draggable="true" ondragstart="drag(event)">'+
'<div class="table-bordered title_box">'+
'<h4 class="title text-center worksheet_title">'+name+'</h4>'+
'</div>'+
this.workBox;
this.panel.append(this.element);
}
}
現在,您可以看到this.workbox
具有一個onclick
函數,該函數調用該函數:
function setProject(name) {
selected_project = projects[name];
}
現在,每當我單擊按鈕時,都會出現以下錯誤:
ReferenceError: asasa is not defined
setProject(asasa);
看一下生成的代碼。 它將類似於:
onclick="setProject(asasa);"
這意味着您正在嘗試將變量 asasa
傳遞給函數。 這樣的變量不存在。
看起來您想傳遞包含該值的字符串,因此必須添加引號:
' ... onclick="setProject(\''+this.name+'\');" ...'
這樣生成的代碼是
onclick="setProject('asasa');"
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.