| 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: 11 let
|
|||
0