Показать сообщение отдельно
  #1 (permalink)  
Старый 09.04.2014, 11:48
Интересующийся
Отправить личное сообщение для koyot777 Посмотреть профиль Найти все сообщения от koyot777
 
Регистрация: 09.04.2014
Сообщений: 13

onChange сбрасывает состояние слоя
Добрый день, помогите решить загвоздку с onChange.

Есть форма поиска на Ajax, Jquery. При выборе селекта с определенным значением, яваскрипт скрывает отображение определенного слоя.

<script type="text/javascript">
jQuery(document).ready(function(){

   jQuery("#prodam777").hide();		

   jQuery("select#cid").change(function (){
      if (jQuery(this).val() == "2") {
          jQuery("#prodam777").show();		  
      }
      else
      {
          jQuery("#prodam777").hide();		
      }	  
	  
   
	
   });   
});
</script>
<div id="prodam777">
ffff
</div>


так формируется select:
if($showSelectCategory)
			{

			$query = 'SELECT c.id,c.name ';
			if($useTranslations)
				{			
				$query .= ', CASE WHEN CHAR_LENGTH(t.t_value) THEN t.t_value ELSE c.name END as name ';
				$query .= 'FROM #__properties_category as c ';
				$query .= 'LEFT JOIN #__properties_translations as t ON t.t_fieldid = c.id AND t.t_table = "category" AND t.t_languagecode = "'.$thisLang.'" ';
				$query .= 'WHERE c.published = 1 ORDER BY c.name';				
				}else{
				$query .= 'FROM #__properties_category as c ';
				$query .= 'WHERE c.published = 1 ORDER BY c.name';
				}		
			
        	$db->setQuery($query);        
			$Categories = $db->loadObjectList();
			$citems 	= array();
			$citems[] 	= JHTML::_('select.option',  '0', JText::_( 'Категория' ) );
			foreach ( $Categories as $citem ) 
				{
				$citems[] = JHTML::_('select.option',  $citem->id, $citem->name );
				}
			$javascript = 'onChange="ModuleSearchAjax()"';		
			$ComboCategories = JHTML::_('select.genericlist',   $citems, 'cid', 'class="inner_search2"'. $javascript, 'value', 'text', $cid );	
			echo '<div class="bg-select"><div class="combo_vertical">'.$ComboCategories.'</div></div>' ;	
			echo '' ;
			
		}


Данный скрипт срабатывает на секунду, в момент выбора нужного значения и когда проходит обработка ModuleSearchAjax() опять скрывается.
Этот скрипт работает отлично, если убрать из селекта onChange="ModuleSearchAjax()".

Пробывал ставить рефреш:
setTimeout(function() {  
      jQuery('input, select').trigger('refresh');  
    }, 3)


Не помогло. Помогите подружить эти два скрипта. уже второй день ничего немогу найти путного.
Ответить с цитированием