javascript - 尝试通过 onClick() 传递变量时未定义变量
问题描述
我是 Js 新手,所以不知道如何解决这个问题。在使用代码示例 1显示我的宏之后,我$.each
希望借助插入宏主体来使用代码示例 2输入文本框,但它会抛出:
奇怪的是,当我作为值传递时,它会很好地传递并将其插入到输入文本框中。
onClick()
Uncaught ReferenceError: body is not definedat HTMLDivElement.onclick
macroId
代码示例 1
function loadMacros() {
$.getJSON("api/Macros/",
(data) => {
$.each(data, (key, val) => {
var macroid = val.macroId;
var name = val.name;
var body = val.macroBody;
var userid = val.userId;
$(`
<div class="macrobox" onClick="insertMacroToText(${body})">
<div id="" style="text-align : left">
<div>
<p><b>${name}</b>
<a class=" glyphicon glyphicon-info-sign" href="Messenger/MacroDetails/${macroid}" ></a>
<a class=" glyphicon glyphicon-pencil" href="Messenger/EditMacro/${macroid}"></a>
<a class=" glyphicon glyphicon-minus" onClick="deleteMacro(${macroid})" ></a>
</p>
</div>
<p style="text-align:left">${body}</p>
</div>
</div>
`)
.appendTo($('#macros'));
});
});
}
代码示例 2
function insertMacroToText(body) {
var input = document.getElementById("textInput");
input.value = body;
}
解决方案
推荐阅读
- javascript - 使用移动设备/其他笔记本电脑从本地主机登录 Google 登录以进行测试
- javascript - 角度表达式未在视图中更新
- javascript - 新的 AngularJS 数据网格和框架
- batch-file - 使用 for 循环批量删除完整的注册表项
- python - 如果其他列中的值相同,则向前或向后填充 NA
- ios - UIVisualEffectView 模糊图像
- date - date-fns - 库以这种格式返回日期 (2018-08-240)
- angular - Angular 6 - 无法使用过滤器方法读取null的属性
- python - python - 如果可用,则打印出来,否则不打印出来
- c# - CefSharp:来自本地资源加载的 HTML,JS,图像未加载