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 :: Версия для печати :: яваскрипт и select
Форумы портала PHP.SU » Клиентская разработка » JavaScript & VBScript » яваскрипт и select

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

1. broshurkaplus - 09 Января, 2013 - 16:17:22 - перейти к сообщению
здравствуйте


подгружаем в страницу форму с 2мя селектами категории и подкатегории
изначально задаем класс dispno для элементов селекта подкатегорий
в котором display: none;

при выборе в первом селекте присваиваем клас dispno для всех эл-в с .scat (чтоб убрать если уже чтото было выбрано) и удаляем его у элементов с нужным классом cat+значение-из-первого

вот то чем меняем

CODE (javascript):
скопировать код в буфер обмена
  1. function vscat(num){
  2.    $('#isc').val(0);//присваиваем 0 селекту подкатегории
  3. var num=$("#ic").val();//получаем зн-е из первого селекта
  4.     $('.scat').addClass('dispno');
  5.     $('.scat'+num).removeClass('dispno');
  6. }


и часть 2го селекта

CODE (html):
скопировать код в буфер обмена
  1. <select name="isc" id="isc">
  2. <option value="0">выберите подкатегорию</option>
  3. <option class="scat cat1 dispno" value="15">qqq</option>
  4. <option class="scat cat1 dispno" value="16">www</option>
  5. <option class="scat cat2 dispno" value="25">eee</option>
  6. <option class="scat cat2 dispno" value="29">rrr</option>
  7. ...


короче в хроме после обновления оно скрывает и отображает то что нужно, но:

отображает в раскрыв. списке только 1строку при нажатии, но внутри элементы все нужные
в опере вообще не работает, сразу все подкатегории отображаются, и при смене категории в селекте подкат. ничего не происходит

подскажите в чем может быть?
или какие другие решения для данной задачи
спасибо
2. SAD - 09 Января, 2013 - 16:57:50 - перейти к сообщению
CODE (javascript):
скопировать код в буфер обмена
  1. function vscat(num){
  2.     $('#isc')
  3.         .val(0)
  4.         .children('option.scat').hide().end()
  5.         .children('option.cat' + $("#ic").val()).show();
  6. }
3. broshurkaplus - 09 Января, 2013 - 17:36:24 - перейти к сообщению
насколько я понимаю - общий смысл тот же, только не через класс, а style меняет. попробовал, применил.
=результат тот же...блин.

смотрю код - и хром и опера меняет свойства, но в экране
хром корректно показывает только при выборе 1го пункта в списке категорий, для остальных - так же -высота во 2раск.списке в 1оптион.
опера ж в экране ничего не меняет, только в коде.

по идее браузер чтоли рассчитать новые свойства не может.
работалож..подправил чтото на ночь вчера(и забыл как было)

вопрос актуален
чего хром схлопывает элементы, а опера не отображает сменившиеся свойства элементов?

еще какие идеи есть?
спасибо

пока сделал доп аякс запрос и вывод после обновления.

 

Powered by ExBB FM 1.0 RC1