Vyhledávání přes Ajax – jak na to?
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
- nuller
- Člen | 3
Ahoj, mohli byste mi prosím poradit, jak postupovat v případě, že chci na stránku vložit vyhledávací pole, které bude zpracováno Ajaxově? Představuji si to tak, že při zadání minimálně 2 znaků dojde k prohledání databáze a vypsání výsledků pod vyhledávacím polem. Výsledek by pak byl s každým dalším napsaným znakem aktualizován. Je to takové live search. Lze to vytvořit s pomocí snippetů?
Díky moc
- Vojtěch Dobeš
- Gold Partner | 1316
Určitě to jde pomocí snippetů. Doporučuju využít nette.ajax.js
pro jejich zpracování na straně klienta.
{snippet results}
{foreach $results as $result}
...
{/foreach}
{/snippet}
public function handleSearch($term)
{
$this->template->results = // ... vyhledání záznamů podle $term
$this->redrawControl('results');
}
$('input').on('change input', function () {
var value = $(this).val();
if (value.length >= 2) {
$.nette.ajax({
'url': // url směrující na signál search!
'data': {
term: value
}
});
}
});
Editoval vojtech.dobes (28. 1. 2014 12:38)