google-like naseptavac

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
cuga
Člen | 210
+
0
-

Hojte,

chcu se zeptat, at znova nevyrabim v mem podani nedokonale kolo :) nepokouseli uz jste se nekdo z vas javascriptistu vytvorit neco takoveho http://www.eatdrinksleepmovabletype.com/…tyle_search/ pod nette??? S javascriptem jsme zatim nenasli spolecnou rec a ajax pod nette se mnou zatim taky nemluvi ;)

Zacal jsem to hledat po tom, co jsem si vyzkousel naseptavac co nadhodil David na zdrojaku, ale ten mi nevyhovuje.

kravčo
Člen | 721
+
0
-

Logike takého výtvoru sa venuje jeden diel seriálu o Nette na zdrojáku.

cuga
Člen | 210
+
0
-

jj, tohle jsem cetl taky… myslenka je dobra, akorat nevim jak zaridit, at se vypisuje jinak nez seznam a at reaguje na kliknuti…

podarilo se mi najit na netu ruzne navody, ale nic co bych dokazal navazat na nette…

spis me zajimalo, jestli uz si tohle nekdo neimplementoval :) kdyby se teda chtel podelit :)

PetrP
Člen | 587
+
0
-

cuga napsal(a):

jj, tohle jsem cetl taky… myslenka je dobra, akorat nevim jak zaridit, at se vypisuje jinak nez seznam a at reaguje na kliknuti…

podarilo se mi najit na netu ruzne navody, ale nic co bych dokazal navazat na nette…

spis me zajimalo, jestli uz si tohle nekdo neimplementoval :) kdyby se teda chtel podelit :)

Tak to tam je spíš záležitost jQuery.

$('<li></li>').text(payload.autoComplete[i]).appendTo(list);

Vytvoří <li></li> a dovnitř vloží text, celé to pak vloží do list (tedy <ul>).
Když chceš vložit html můžeš místo .text() použít .html(), nebo to spíš řešit úplně jinak ;] např přes spipety

Aby ten výpis byl klikací (jestli jsem dobře pochopil tak to bys chtěl) tak můžeš ten Davidův postup na zdrojáků nepatrně rozšířit:

$this->payload->autoComplete[] = $item;
//na
$this->payload->autoComplete[] = array('text'=>$item,'url'=>'http://nettephp.cz');
$('<li></li>').text(payload.autoComplete[i]).appendTo(list);
//na
var data = payload.autoComplete[i];
$('<a></a>').attr('href',data.url).text(data.text).appendTo($('<li></li>').appendTo(list));
cuga
Člen | 210
+
0
-

jeste jsem tvoje reseni nezkousel, ale myslim ze jsme se nepochopili v tom „klikatelnem“ :)

chci at kdyz kliknu na polozku ze seznamu, tak se mi nahraje do inputu…

crempa
Člen | 198
+
0
-

pouzivam tohle jQuery autocomplete

neni to teda nettoidni, ale je to nasazene behem par minut a funguje to vsude a spolehlive vcetne pekneho spinneru apod.

cuga
Člen | 210
+
0
-

diky moc, podivam se na to :)

PetrP
Člen | 587
+
0
-

cuga napsal(a):

jeste jsem tvoje reseni nezkousel, ale myslim ze jsme se nepochopili v tom „klikatelnem“ :)

chci at kdyz kliknu na polozku ze seznamu, tak se mi nahraje do inputu…

$('<li></li>').text(payload.autoComplete[i]).appendTo(list);
//na
$('<li></li>').text(payload.autoComplete[i]).click(function () {$('#text').val($(this).text());}).appendTo(list);

Nemohl jsem pochopit to co si neřekl, nicméně teď už jsme úplně mimo téma nette. Chceš-li pracovat s jQuery tak nejlépe nejprve nastuduj javascript celkově a pak jejich moc dobrou dokumentaci

Manny7
Člen | 67
+
0
-

Ahoj,
pouzivam tenhle kod v drobne modifikaci, ale co mi vrta hlavou – neporadili byste, jak upravit uvedene jQuery tak, abych ziskal prostor pro info-text ve smyslu „Loading“?

Dekuji

iguana007
Člen | 970
+
0
-

To uz resi samotne jquery.nette.js, podivej se do tohoto kodu: https://github.com/…ery.nette.js
Spinner je to co hledas ;)