Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Перебрать option в смарти.
Форумы портала PHP.SU » Клиентская разработка » JavaScript & VBScript » Перебрать option в смарти.

Страниц (1): [1]
 

1. ureech - 07 Апреля, 2016 - 10:36:04 - перейти к сообщению
Здравствуйте. Из php в tpl шаблон передаю переменную $brend, в ней массив .
В шаблоне перебираю
CODE (html):
скопировать код в буфер обмена
  1. <select   name=""   style="width:100%;" >
  2. <option class="no-hide" selected="selected" value="">All</option>
  3.     {foreach key=tid item=item from=$brend}
  4. <option style="display:none" class="loc" data-id="{$item.category_id}" value="" >{$item.title}</option>
  5.         {/foreach}
  6. </select>


Теперь мне нужно перебрать список в опшене, что бы затем сравнивать data-id с другой переменной и менять display:none на display:block, но что то не выходит.

пробую так
CODE (javascript):
скопировать код в буфер обмена
  1.                 var sess = $('.loc').attr('data-id')
  2.         for (var i = 0; i < sess.length; i++) {
  3.         alert(sess[i])
  4. }

Выводит только два числа 2 и 9 не имеющие отношения к data-id.Или это data-id одного элемента.У него data-id=29
2. IllusionMH - 07 Апреля, 2016 - 23:01:12 - перейти к сообщению
ureech, вы в цикле по строке бежите, а нужно по массиву элементов, и .attr вызывать на каждой итерации цикла.
Можно использовать http://api[dot]jquery[dot]com/each/

 

Powered by ExBB FM 1.0 RC1