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:51. |