Итак, в основном, я создаю переменные в методе keyUp поля ввода, которые получают свои данные из умного цикла (это внутри $(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), я получаю undefined, но когда я использую smarty {$allNavies[unitEl]}
вместо переменных, все работает нормально. Я просто создал переменные, чтобы сделать код более читабельным.
Кто-нибудь знает, почему?