基本的に、入力ボックスの keyUp メソッド内に変数を作成して、smarty ループからデータを取得します (これは、$(document.ready)
ここにコードがあります
{section name=unitEl loop=$allNavies}
$("#attack-navy{$allNavies[unitEl].ID}-number").keyup(function(){
var unit = {$allNavies[unitEl]};
var element = $("#attack-navy" + unit.ID + "-number");
var available_count = {$NAVY_{$allNavies[unitEl].ID}_AVAILABLE_COUNT|default:'0'};
alert(unit.ID);
// Unit max = available count
if(element.val() > available_count)
{
completeUnitValue(element, available_count);
}
// If transport navy: Increase capacity
if({$allNavies[unitEl].ID} == 16 || {$allNavies[unitEl].ID} == 19 || {$allNavies[unitEl].ID} == 20)
{
$("#attack-max-capacity").text(getMaxCapacity());
}
});
{/section}
{$allNavies[unitEl]}
問題は、変数 (unit、element、available_count) のいずれかを警告すると undefined が表示されますが、変数の代わりにsmarty を使用すると、すべて正常に動作することです。コードを読みやすくするために変数を作成しました。
理由を知っている人はいますか?