Вернуться   Дизайнерский форум » ВЕБ-ПРОГРАММИРОВАНИЕ » HTML, CSS, JavaScript

Плагин 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>
 
Старый 19.10.2009, 06:38
Ссылки
Старый 21.10.2009, 09:18   #2
Что, никто не сталкивался с такой проблемой?

Ребят, очень нужно, горит прям
 
Старый 26.10.2009, 11:21   #3
Ау.... люди.... SOS, помогите, очень нужно
 
Старый 26.10.2009, 11:21
Закрытая тема




Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
подскажите что за плагин 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


Текущее время: 14:01. Часовой пояс GMT +4.

Реклама на форуме Условия размещения рекламы
Биржа ссылок Заработай на сайте!
Дизайнерский форум