Добрый день, помогите решить загвоздку с 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)
Не помогло. Помогите подружить эти два скрипта. уже второй день ничего немогу найти путного.