私は、次のJSコードを書いた:JavaScriptの:変数名未解決
function downloadFile(dataItem) {
....
}
....
for (var r = 0; r < dataItems.length ; r++) {
table += '<tr>';
var listOfAttributes = ['CarModel', 'BusMapping', 'Date_', 'Location_', 'Comments', 'AttackTraffic', 'IsTagged']
**table +='<td> <a onclick="downloadFile(dataItems[r])" href="#">' + dataItems[r]['FileName']['S'] +'</a></td>';**
for (var c = 0; c < Object.keys(dataItems[0]).length-1 ; c++) {
table +='<td>' + dataItems[r][listOfAttributes[c]]["S"] +'</td>';
}
table+= '</tr>'
}
私はラインのエラーを取得する:
table +='<td> <a onclick="downloadFile(dataItems[r])" href="#">' + dataItems[r]['FileName']['S'] +'</a></td>';
JSは、変数 'dataItems' を解決することができないようです-tagの内部:
<a onclick="downloadFile(dataItems[r])" href="#">.
しかし、同じ行の後に、JSは同じ部分の同じ名前を正常に解決します。
+ dataItems[r]['FileName']['S'] +
あなたは何が問題になると思いますか? dataItemをタグ内で解決するにはどうすればよいですか?
[どのようにJavaScriptのクロージャに動作しますか?]の可能な重複(http://stackoverflow.com/questions/111102/how-do-javascript-closures-work) –
でしたあなたはしてくださいエラーメッセージを共有しますか?また、使用しているフレームワークやその他の技術を質問タグに追加してください。 – splay