通过循环在javascript函数中传递变量

时间:2018-12-09 16:13:53

标签: javascript javascript-objects

有必要在循环中将变量传递给函数。单击按钮时,id(或对象)应属于该函数。

 $.each(data, function (index,subcatObj) {
                        if(subcatObj.didOrganizer==0){
                            y.innerHTML="<input type=\"button\" onclick=\"return makeDid(subcatObj);\" value=\"Назначить куратором1\">"
                        }
                        else {
                            y.innerHTML="<input type=\"button\" onclick=\"return deleteDid(subcatObj);\" value=\"Снять куратора\">"
                        }  


            function makeDid(item) {
                console.log(item)
            }
            function deleteDid(item) {
                console.log(item)
            }      
              })

但是发生错误:

  

subcatObj未定义

如何解决?

1 个答案:

答案 0 :(得分:0)

显式创建input元素(而不仅仅是在HTML字符串中),然后在其上使用addEventListener(或分配给其onclick属性)以捕获{{ 1}},因此可以在处理程序中使用该变量:

subcatObj

(HTML中的onclick 属性常常很难管理,并且通常被认为是相当差的做法)