|
|||||||
Плагин autocomplete от jquery и AJAXОбсуждение темы Плагин autocomplete от jquery и AJAX в разделе HTML, CSS, JavaScript, часть категории ВЕБ-ПРОГРАММИРОВАНИЕ; Ситуация следующая: 1. есть форма поиска содержащая вкладки разных типов поиска (соответственно и параметры различаются). Например: поиск по товарам, фирмам, разделам и интернету ... |
![]() |
|
|
Опции темы |
|
|
#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>
|
|
|
|
|
#2 |
|
|
Что, никто не сталкивался с такой проблемой?
Ребят, очень нужно, горит прям |
|
|
|
|
#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 |
|
Реклама на форуме
Условия размещения рекламы
Биржа ссылок
Заработай на сайте!
|