だから私は問題が何であるかを知っていますが、それを修正するための適切な方法(構文)がわかりません。
「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);
});