|
Плагин autocomplete от jquery и AJAXОбсуждение темы Плагин autocomplete от jquery и AJAX в разделе HTML, CSS, JavaScript, часть категории ВЕБ-ПРОГРАММИРОВАНИЕ; Ситуация следующая: 1. есть форма поиска содержащая вкладки разных типов поиска (соответственно и параметры различаются). Например: поиск по товарам, фирмам, разделам и интернету ... |
|
Опции темы |
19.10.2009, 06:38 | #1 |
|
Ситуация следующая:
1. есть форма поиска содержащая вкладки разных типов поиска (соответственно и параметры различаются). Например: поиск по товарам, фирмам, разделам и интернету 2. при выборе поиска при помощи AJAX, перегружается строка поиска и подгружаются параметры расширенного поиска данного раздела. Проблема: autocomplete работает до тех пор пока не произошло переключение (хотя имя и id текстового поля не меняется) Вопрос как решить данную проблему? ИСХОДНЫЙ КОД перезагружаемой части: Код:
<!-- FindMenuType отвечает за сохранение посковых пораметров в сессии, переключении типа поиска и собственно это и есть AJAX функция --> <input type="hidden" name="action" value="find" /> <input type="hidden" name="type" value="<?php if(isset($_GET['last'])) {echo $_GET['last']; } else if (isset($_SESSION['find_type'])) { echo $_SESSION['find_type']; } else echo 'product'; ?>" /> <table cellpadding="0" cellspacing="0" style="margin-bottom:5px; margin-top:5px;"> <!-- выбор типа поиска --> <tr> <td> <table style="margin-bottom:-10px; margin-left:-2px;"> <tr> <td style="background-color:#DBB800"><a style="text-decoration:none; width:100px; text-align:center; vertical-align:middle; padding:5px 5px 10px 5px; background-color:<?php if ($_SESSION['find_type'] == 'product') echo '#FFF974'; else echo '#FEDC00'; ?>; display:block;" onclick="FindMenuType('product', 'find_type', 'text_find', 'set_town', '<?= $child_gr; ?>')" href="#">Товар/Услуга</a></td> <td style="background-color:#DBB800"><a style="text-decoration:none; width:100px; text-align:center; vertical-align:middle; padding:5px 5px 10px 5px; background-color:<?php if ($_SESSION['find_type'] == 'firm') echo '#FFF974'; else echo '#FEDC00'; ?>; display:block;" onclick="FindMenuType('firm', 'find_type', 'text_find', 'set_town', '<?= $child_gr; ?>')" href="#">Название фирмы</a></td> <td style="background-color:#DBB800"><a style="text-decoration:none; width:100px; text-align:center; vertical-align:middle; padding:5px 5px 10px 5px; background-color:<?php if ($_SESSION['find_type'] == 'yandex') echo '#FFF974'; else echo '#FEDC00'; ?>; display:block;" onclick="FindMenuType('yandex', 'find_type', 'text_find', 'set_town', '<?= $child_gr; ?>')" href="#">Интернет</a></td> </tr> </table> </td> <td colspan="3"></td> </tr> <!-- /выбор типа поиска --> <!-- сама поисковая строка --> <tr> <td> <input onkeyup="FindMenuType('', '', 'text_find', '')" class="form_find" id="text_find" type="text" name="text" value="<?= $_SESSION['text']; ?>" /> <?php if (strpos($_SERVER['HTTP_USER_AGENT'], 'MSIE 6') === false ) { ?> <script type="text/javascript"> $(document).ready(function(){ function log(event, data, formatted) { $("<li>").html( !data ? "No match!" : "Selected: " + formatted).appendTo("#result"); } function liFormat (row, i, num) { var result = row[0] + '<p class="qnt">' + row[1] + ' чел.</p>'; return result; } function selectItem(li) { document.getElementById("text_find").focus(); } // --- Автозаполнение --- $("#text_find").autocomplete("/include/ajax.autocomplete.php", { delay:10, minChars:3, matchSubset:1, autoFill:false, matchContains:1, cacheLength:10, matchSubset:10, selectFirst:false, formatItem:liFormat, maxItemsToShow:7, onItemSelect:selectItem, extraParams:{set_town: document.getElementById('set_town').value, type: '<?= $_SESSION['find_type']; ?>'} }); // --- Автозаполнение --- }); </script> <?php } ?> </td> <td><div style="width:4px;"></div></td> <td> <input class="button_find" type="submit" value="Найти" /> </td> </tr> <!-- /сама поисковая строка --> <!-- поиск с фотографией (только для товаров)--> <tr> <td colspan="4"> <table cellpadding="0" cellspacing="0"> <tr> <td style="width:150px; height:25px;"> <?php if ( (isset($_POST['type']) && $_POST['type'] == 'product') || (isset($_SESSION['find_type']) && $_SESSION['find_type'] == 'product') ) { ?> <img src="/images/all/photo.gif" alt="photo" style="width:20px; height:20px; margin-bottom: -5px;" /> <strong>ФОТО</strong> <input style="" type="checkbox" name="is_photo" <?php if (isset($_GET['is_photo'])) echo 'checked="checked"'; ?> value="true" /> <?php } ?> </td> <td> </td> </tr> </table> </td> </tr> <!-- /поиск с фотографией (только для товаров)--> </table> |
|
21.10.2009, 09:18 | #2 |
|
Что, никто не сталкивался с такой проблемой?
Ребят, очень нужно, горит прям |
|
26.10.2009, 11:21 | #3 |
|
Ау.... люди.... SOS, помогите, очень нужно
|
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
подскажите что за плагин | DeCa | HTML, CSS, JavaScript | 2 | 26.01.2011 00:15 |
Плагин фотогалереи | ddddd | HTML, CSS, JavaScript | 5 | 30.10.2009 08:40 |
Плагин DirectResize для MODX | ddddd | ASP, Perl, PHP и MySQL | 2 | 29.09.2009 23:52 |
плагин autocomplete от jquery | Anthony | HTML, CSS, JavaScript | 6 | 15.12.2008 14:30 |
Безопасность при использовании Ajax от jquery | egorix | Безопасность | 9 | 06.02.2008 22:45 |
Реклама на форуме
Условия размещения рекламы
Биржа ссылок
Заработай на сайте!
|