The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"создание выпадающего списка на js"
Вариант для распечатки  
Пред. тема | След. тема 
Форум WEB технологии (JavaScript)
Изначальное сообщение [ Отслеживать ]

"создание выпадающего списка на js"  +/
Сообщение от klesh1504 (ok) on 03-Апр-10, 21:31 
Здравствуйте, помогите пожалуйста доработать код , чтобы варианты писались в выпадающем списке(по

типу того,что на сайте яндекс), а не в строчку как сейчас. Заранее благодарю.
Вот мой код:

файл-chint.js


var xmlHttp=null;
function showHint(str)
{
if(str.length==0)
{document.getElementById("txtHint").innerHTML="fint.html";
return;
}
xmlHttp=GetXmlHttpObject();
if(xmlHttp==null)
{
alert("Your browser does not support AJAX!")
return;
}
var url="ghint.php"
url=url+"?q="+str;
url=url+"&sid="+Math.random();
alert(url);
xmlHttp.onreadystatechange=stateChanged;
xmlHttp.open("GET",url,true);
xmlHttp.send(null);
}
function stateChanged()
{
if(xmlHttp.readyState==4)
{
document.getElementById("txtHint").innerHTML=xmlHttp.responseText;
}
}
function GetXmlHttpObject()
{
var xmlHttp=null;
if(window.XMLHttpRequest){
xmlHttp=new XMLHttpRequest();
}else{

try
{
xmlHttp=new ActiveXObject("Msxml2.XMLHTTP")
}
catch(e)
{
xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
}
}
return xmlHttp;}


Файл-fint.html


<html>
<head>
<script src="chint.js"></script>
</head>
<body>
<form>
First Name:
<input type="text"id="txt1" onkeyup="showHint(this.value)">
</form>
<p>Suggestions:<span id="txtHint"></span></p>
</body>
</html>



Файл-ghint.php


<?php
header("Cache-Control: no-cache, must-revalidate");

header("Expires: Mon, 1 Sep 2009 07:30:00 GMT");

$a[]="Audi";
$a[]="BMW";
$a[]="Buick";
$a[]="Chevrolet";
$a[]="Citroen";
$a[]="Dodge";
$a[]="Ferrari";
$a[]="Fiat";
$a[]="Ford";
$a[]="Honda";
$a[]="Hyundai";
$a[]="Cherokee";
$a[]="Cherry";
$a[]="Lada";
$a[]="Lamborghini";
$a[]="Lincoln";
$a[]="Mazda";
$a[]="Mercedes";
$a[]="Mitsubishi";
$a[]="Nissan";
$a[]="Opel";
$a[]="Peugeot";
$a[]="Plymoth";
$a[]="Pontiac";
$a[]="Renault";
$a[]="Rover";
$a[]="Saab";
$a[]="Subaru";
$a[]="Suzuki";
$a[]="Toyota";
$a[]="Volkswagen";
$a[]="Volvo";

$q = strtolower($_GET["q"]);
$hint = array();
if ($len = strlen($q))
    foreach ($a as $el)
        if ($q == strtolower(substr($el, 0, $len)))
            $hint[] = $el;

echo count($hint) ? implode(', ', $hint) : "no suggestion";
?>


Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "создание выпадающего списка на js"  +/
Сообщение от cuad0 (ok) on 07-Апр-10, 23:15 
>Здравствуйте, помогите пожалуйста доработать код , чтобы варианты писались в выпадающем списке(по типу того,что на сайте яндекс)

Читайте больше. Хотя бы http://javascript.ru/ajax. Про DOM тоже не будет лишним...

>(по типу того,что на сайте яндекс)

Это называется Google Suggest (по имени тех, кто внедрил и раскрутил фичу).
Погуглите что-нить типа "google ajax suggest source" найдете тыщи примеров. Заодно свой скилл по английскому подымете.


> а не в строчку как сейчас.

Поменяйте
echo count($hint) ? implode(', ', $hint) : "no suggestion";
на
echo count($hint) ? implode('<br/> ', $hint) : "no suggestion";

будет в столбик :))

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру