有必要在循环中将变量传递给函数 . 单击按钮时,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 回答
显式创建
input
元素(而不仅仅是在HTML字符串中),然后在其上使用addEventListener
(或赋予其onclick
属性)以便在闭包中捕获subcatObj
,因此变量可以在处理程序中使用:(HTML中的onclick属性通常很难管理,并且通常被认为是非常差的练习)