Доброго времени суток. Хочу привести листинг поиска в стиле Google. Сразу оговорюсь - идея не моя. Я только ее адаптировал под PostgreSQL. Я добавляю архив со всеми файлами (может кому пригодится). Во время выпадания предлагаемого списка показываться и user и id - и это правильно . Когда выбор сделан видно только user - и это тоже то, что нужно. Но мне нужно, чтобы на сервер отправлялся не только user, но и в скрытом поле Код (Text): <input type="hidden" name="id" value="" /> на сервер отправлялся id. Можно ли ето сделать? И как? Всем за ранее спасибо за помощь. Скрипт http://sql.ru/forum/actualfile.aspx?id=7459980
Уже и не думал, что кто та ответит. Спасибо. Последний вариант. index.php HTML: <html> <head> <link rel="stylesheet" type="text/css" href="css/commons.css"> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <script type="text/javascript" src="js/jquery.js"></script> <script type="text/javascript" src="js/jquery.autocomplete.js"></script> </head> <body> <div style="margin:10px; padding:10px;"> <h1> Поиск как в Google </h1><hr> <p style="MARGIN-TOP: 11px;"> <form action="cse" id="cse-search-box"> <div>Поиск: <input type="text" name="q" size="50"/> <input type="hidden" name="tests" id="tests" /> <input type="submit" name="sa" value="Поиск" /> </div> </form> </p> <script type="text/javascript" src="js/suggest.js"></script></div> </body> </html> find.php PHP: <?php header("Content-Type: text/html; charset=utf-8"); if($_SERVER['HTTP_X_REQUESTED_WITH'] == 'XMLHttpRequest') { $host = "localhost"; $user = "postgres"; $pass = "postgres"; $db = "users"; $connection = pg_connect ("host=$host dbname=$db user=$user password=$pass"); if (!$connection) { die("Could not open connection to database server"); } $q = addslashes($_GET["q"]); $limit = 10; if ($q) { $query = "SELECT * FROM users WHERE user LIKE '$q%' LIMIT '$limit'"; $result = pg_query($connection, $query) or die("Error in query: $query. " . pg_last_error($connection)); $results = array(); while ($row = pg_fetch_assoc($result)) { $word = $row["user"]; $lang = $row["id"]; $results[] = "$user:$id"; } for($i=0;$i<count($results);$i++){ $row_base = explode(":", $results[$i]); $res = mb_strpos(mb_strtolower($row_base[0],"UTF-8"), mb_strtolower($_GET['q'],"UTF-8")); if($res!==false&&$res==0) { $row_base[3] = trim($row_base[3]); print $row_base[0]."|".$row_base[1]."\n"; } } } pg_close($connection); } ?> suggest.js [js] jQuery.noConflict(); jQuery(document).ready(function(){ function liFormat (row, i, num) { var result = row[0] + '<p class=qnt>' + row[1] + '</p>'; return result; } function selectItem(li) { } jQuery("#cse-search-box input[name='q']").autocomplete("find.php", { delay:15, minChars:1, matchSubset:1, autoFill:true, matchContains:1, cacheLength:10, selectFirst:true, formatItem:liFormat, maxItemsToShow:10, onItemSelect:selectItem, }); }); [/js] commons.css [css]* { margin:0; padding:0; } html, body { background-color:#E2F2E2; font-family: "Trebuchet MS", Tahoma, Verdana, Arial, Helvetica, sans-serif; font-size: 8pt; } .ac_results { padding: 0px; border: 1px solid WindowFrame; background-color: Window; overflow: hidden; } .ac_results ul { width: 100%; list-style-position: outside; list-style: none; padding: 0; margin: 0; } .ac_results iframe { display:none;/*sorry for IE5*/ display/**/:block;/*sorry for IE5*/ position:absolute; top:0; left:0; z-index:-1; filter:mask(); width:3000px; height:3000px; } .ac_results li { position:relative; margin: 0px; padding: 2px 5px; cursor: pointer; display: block; width: 100%; font: menu; font-size: 11px; overflow: hidden; } .ac_loading { background : Window url('autocomplete_indicator.gif') right center no-repeat; } .ac_over { background-color: Highlight; color: HighlightText; } #example { position:absolute; top:10px; left:10px; width:150px; font-family: "Trebuchet MS", Tahoma, Verdana, Arial, Helvetica, sans-serif; font-size: 10pt; } #example2 { position:absolute; top:10px; left:170px; width:240px; font-family: "Trebuchet MS", Tahoma, Verdana, Arial, Helvetica, sans-serif; font-size: 10pt; } .qnt { position:absolute; top:2px; right:10px; font-size:0.8em; color:#26A908; }[/css] Ну и Autocomplete - jQuery plugin 1.0.2 и jQuery JavaScript Library v1.3.2 И еще впреть обещаю такую тупость как ссылка на ....... вышеуказанный сайт не делать. Еще раз сорри. JQuery не выкладываю в целях экономии пространства Из-за этого затыка вся работа стала. Еще раз спасибо.