Autor | Zpráva | ||
---|---|---|---|
Dominik Skála Profil |
Mám dotaz. Jak se dá vytvořit našeptávač (autocomplete), aby mi do vyhledávacího políčka sami vyskakovali nějaké možnosti (našeptávalo)?
A ještě by mě zajímalo zda google to má udělaný tak, že má v kódu zařazené možnosti nebo to má udělané nějak jinak? Díky moc. |
||
Destiny_1 Profil |
#2 · Zasláno: 5. 6. 2015, 14:15:50
Jak se dá vytvořit našeptávač
Pravděpodobně budete chtít vyhledávat z databáze, k tomu vám poslouží ajax a poté už jen javascriptem vypíšete výsledek. Na netu najdete určitě spousta návodů. Například tady www.milosnemec.cz/clanek.php?id=157 |
||
Dominik Skála Profil |
#3 · Zasláno: 5. 6. 2015, 16:49:07
Udělal jsem vše podle tutoriálů a stále mi toto nefunguje. Mohl byste mi případně někdo říct kde mám chybu?
Zde je ajax.php mysql_connect("localhost","root","") or die("neleze se připojit"); mysql_select_db("ajax") or die("nelze se připojit"); $input = $_REQUEST['input']; $input = mysql_real_escape_string(trim($input)); $sql = "SELECT * FROM `register` WHERE username LIKE '%".input."%'"; $data = mysql_query($sql); $arrent = -1; $dataArray = array(); while($temp = mysql_fetch_assoc($data)) { foreach($temp as $key=>$val) { $temp[$key] = stripslashes($val); $arrent++; } $dataArray[$arrent] = $temp; } $list = "<ul class='unorganised'>"; foreach($dataArray as $val) { $list .= "<li>".$val['username']."</li>"; } $list .="</ul>" ?> A zde javascript: <script type="text/javascript"> $(document).ready(function(){ $("#input").keyup(function(){ $("#suggest").html(""); var input = $("#input").val(); input = $.trim(input); if(input){ $.ajax({ url: "ajax.php", data: "input="+input, success: function(msg){ $("#suggest").html(msg); $("#suggest ul li").mouseover(function(){ $("#suggest ul li").removeClass("hover"); $(this).addClass("hover"); }) $("#suggest ul li").click(function(){ var value = $(this).html(); $("#input").val(value); $("#suggest ul").remove(); }); } }); } }); }); </script> |
||
Jan Kozák Profil |
#4 · Zasláno: 5. 6. 2015, 17:18:13
Minimálně na řádku 5, kde používáš konstantu místo proměnné. A pak také nejspíš v tom, že ze souboru ajax.php nemáš žádný výstup, pouze si tam plníš proměnné.
Pokus se izolovat problém. Pokud ti správně funguje PHP část, když ji spustíš bez JS, víš, že chyba je v JavaScriptu. V opačném případě musíš problém hledat v souboru ajax.php. |
||
Časová prodleva: 9 let
|
0