Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/415.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
带参数的javascript onclick函数_Javascript - Fatal编程技术网

带参数的javascript onclick函数

带参数的javascript onclick函数,javascript,Javascript,我有以下JavaScript对象: function Project(name) { this.panel = $('#worksheet_panel'); this.name = name; this.workBox = '<div class="worksheet_box">'+ ' <div class="list-group">'+ ' <button class="

我有以下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);
    }
}
现在,每当我单击按钮时,都会出现以下错误:

ReferenceError: asasa is not defined

setProject(asasa);

查看生成的代码。它将类似于:

onclick="setProject(asasa);"
这意味着您正试图将变量
ASASASA
传递给函数。这样的变量不存在

看起来您希望传递包含该值的字符串,因此必须添加引号:

' ... onclick="setProject(\''+this.name+'\');" ...'
因此生成的代码是

onclick="setProject('asasa');"

我没看到你真的给这个工作盒命名。。。这可能是问题所在吗?虽然我在你的代码中没有看到任何关于“asasa”的提及,但这很奇怪。。。
onclick="setProject('asasa');"