smarty + js + php
Всем привет. В смарте имею цикл
{foreach key=tid item = week from=$list_weeks} {if $f == 1}{$week.a=$week.a1}{/if} {$week.a} // 1 {$week.b} // 2 {$week.c}// 3 {/foreach} В php параметр ['a'] выбирается из базы в зависимости от условия. Т.е. if( $f == 1){$a = 'a1';}if( $f == 2){$a = 'a2';}if( $f == 3){$a = 'a3';} Теперь в js мне нужно использовать {$week.a} в аяксе и в цикле. function foo(){ $.ajax({ ...... success : function (data) { var res1 = []; for(var i=0; i<data.length; i++) { res1 += data[i].a+','; } }); } И вот тут засада. res1 неопределена. Хотя аякс и возвращает массив с переменной [{а1:1,...}]. Если я подставляю в цикле res1 += data[i].a1+','; то всё работает. Как мне заставить работать скрипт? Пробовал в js условие задать перед foo(). типа if(f==1)var a = '{$week.a1}';,передав предварительно в смарт $f и определив её в js. не выходит. |
Почитайте:
https://developer.mozilla.org/ru/doc...cts/Array/push Названия ключам лучше давать осмысленное. |
Цитата:
Не понимаю что мне нужно объединить или добавить. |
ureech,
Цитата:
возможно вы хотели так ... function (data) { var res1 = Object.values(data[0]); } |
Цитата:
|
Nexus,
Спасибо за идею. Решил вопрос на стороне сервера. С php получше знаком). Всем спасибо. |
Цитата:
Цитата:
$a = "a$f";:haha: |
Часовой пояс GMT +3, время: 21:18. |