所以我知道问题是什么,但我不知道修复它的正确方法(语法)。
如果您从“myFunction”获取代码并将其放入我调用“myFunction”的 .each 循环中,那么我的代码可以工作,因为“this”正在被定义并且在我引用的 JSON 对象的范围内。
但是,当我编写函数并在 JSON 对象范围之外声明它时,它不再知道“this”是什么并返回“undefined”值。
如何将“this”作为参数传递给我的函数,以便正确获取值?
$.getJSON('labOrders.json', function(json) {
var aceInhibitors = "",
antianginal = "",
anticoagulants = "",
betaBlocker = "",
diuretic = "",
mineral = "",
myFunction = function () {
aceInhibitors += "<div class='row drugLineItem'>",
aceInhibitors += "<div class='columns moneydot' style='background:none;'></div>",
aceInhibitors += "<div class='columns drugTitleWrap'>",
aceInhibitors += "<div class='row drugTitle'>"+this.name+"</div>",
aceInhibitors += "<div class='row drugDose'>"+this.strength+"</div>",
aceInhibitors += "<div class='columns'></div>",
aceInhibitors += "<div class='columns orderDeets dxRefill'>"+this.refills+"</div>",
aceInhibitors += "<div class='columns orderDeets dxPillCount'>"+this.pillCount+"</div>",
aceInhibitors += "<div class='columns orderDeets dxSig'>"+this.sig+"</div>",
aceInhibitors += "<div class='columns orderDeets dxRoute'>"+this.route+"</div>",
aceInhibitors += "<div class='columns orderDeets drugTab'>"+this.dose+"</div>"
}
$.each(json.medications, function(index, orders) {
$.each(this.aceInhibitors, function() {
myFunction();
});
$.each(this.antianginal, function() {
});
});
$('#loadMedSections').append(aceInhibitors);
});