所以基本上,我在输入框的 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}
问题是,当我提醒任何变量(单位、元素、available_count)时,我收到未定义的信息,但是当我使用 smarty{$allNavies[unitEl]}
而不是变量时,一切正常。我刚刚创建了变量以使代码更具可读性。
有谁知道为什么?