Dador Опубликовано 21 сентября, 2012 Жалоба Поделиться Опубликовано 21 сентября, 2012 Если на одной странице несколько форм с поиском, то автодополнение работает только в первой (Google Chrome), либо вообще не работает (Mozilla Firefox, MS IE).ИсправлениеНайдите в design/default/html/index.tpl (вместо default - ваше название темы) <script> $(function() { // Автозаполнитель поиска $(".input_search").autocomplete({ serviceUrl:'ajax/search_products.php', minChars:1, noCache: false, onSelect: function(value, data){ $(".input_search").closest('form').submit(); }, fnFormatResult: function(value, data, currentValue){ var reEscape = new RegExp('(\\' + ['/', '.', '*', '+', '?', '|', '(', ')', '[', ']', '{', '}', '\\'].join('|\\') + ')', 'g'); var pattern = '(' + currentValue.replace(reEscape, '\\$1') + ')'; return (data.image?"<img align=absmiddle src='"+data.image+"'> ":'') + value.replace(new RegExp(pattern, 'gi'), '<strong>$1<\/strong>'); } }); }); </script> И замените на:<script> $(function() { // Автозаполнитель поиска $(".input_search").each(function() { var el=$(this); el.autocomplete({ serviceUrl:'ajax/search_products.php', minChars:1, noCache: false, onSelect: function(value, data){ console.log(el); el.closest('form').submit(); }, fnFormatResult: function(value, data, currentValue){ var reEscape = new RegExp('(\\' + ['/', '.', '*', '+', '?', '|', '(', ')', '[', ']', '{', '}', '\\'].join('|\\') + ')', 'g'); var pattern = '(' + currentValue.replace(reEscape, '\\$1') + ')'; return (data.image?"<img align=absmiddle src='"+data.image+"'> ":'') + value.replace(new RegExp(pattern, 'gi'), '<strong>$1<\/strong>'); } }); }); });</script> Цитата Ссылка на сообщение Поделиться на другие сайты
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.