Javascript jQuery-将变量用作函数参数

Javascript jQuery-将变量用作函数参数,javascript,jquery,Javascript,Jquery,我想使用动态变量作为动态javascript函数参数。但它给出的错误是未定义的变量 $.ajax({ url: 'get_category_list.php', dataType: 'JSON', success: function (data) { var i = 1; $.each(data, function() { var id = this.id; //console.log(id)

我想使用动态变量作为动态javascript函数参数。但它给出的错误是未定义的变量

$.ajax({
    url: 'get_category_list.php',
    dataType: 'JSON',
    success: function (data) {
        var i = 1;
        $.each(data, function() {
            var id = this.id;
            //console.log(id);
            var edit = "<img src='../../dist/img/icon/edit.png' " +
            "style='border: 1px solid #999637; " +
            "border-radius: 2px' " +
            "title='Edit' " +
            "onclick='show_edit_form(id)'>";
            catTable.row.add([
                i++,
                this.name,
                this.level,
                this.create_date,
                edit
            ] ).draw();
        });
    }
});
$.ajax({
url:'get_category_list.php',
数据类型:“JSON”,
成功:功能(数据){
var i=1;
$.each(数据,函数(){
var id=this.id;
//console.log(id);
var edit=“”;
catTable.row.add([
i++,
这个名字,
这个层次,,
此.create_日期,
编辑
]).draw();
});
}
});

请告诉我这里的确切问题是什么?

我猜错误发生在
显示编辑表单
函数中。你必须在那里传递一些东西,在你的照管下

 var edit = "<img src='../../dist/img/icon/edit.png' " +
            ...
            "onclick='show_edit_form(" + this.id + ")'>";
var edit=”“;

在下面的代码中,您将
edit
作为
show\u edit\u form()
的参数传递:

var edit=”“;
^^^^
也许您的意图是将元素本身作为参数传递。但是您的代码不行,它甚至无法访问
edit
变量内联其定义。最简单的解决方案是将参数字段留空。因为在处理click事件时,您已经可以使用
this
访问它

另一方面,正如其他人在评论中指出的,最好使用这种方法



如果你至少告诉我们问题是什么,它在哪一行,我们就会知道从哪里开始?哪个变量?哪个错误?确切的问题是你的问题不清楚,我想是这样:
show\u edit\u form(edit)
而不是自己声明、初始化和递增
i
,你可以(应该)只使用
$。每个(数据、函数(i){…
var edit = "<img src='../../dist/img/icon/edit.png' " +
           "style='border: 1px solid #999637; " +
           "border-radius: 2px' " +
           "title='Edit' " +
           "onclick='show_edit_form(edit)'>";
                                    ^^^^