Formulář – addtext automatické doplňování při psaní textu

Allconius
Člen | 313
+
0
-

Ahoj, chtěl bych se zeptat jak vytvořit ve vyhledávacím formuláři automatické nabízení hodnoty pole při psaní textu, tj. aby se text kontroloval přes LIKE s hodnotami v databázi a nabízely se nalezené alternativy. Např. jak je to na stránce http://dotace.ostrava.cz/ u položky „NÁZEV ŽADATELE“

skromny
Člen | 5
+
+2
-

napriklad cez jQuery.autocomplete – https://jqueryui.com/autocomplete/#…

plus teda zdroj dat (url: „search.php“) nahradit volanim vlastneho handle (url: {link getAlternatives!})

a potom v handleGetAlternatives si toto naplnit datami z dB a ako json vratit…

breeta
Člen | 68
+
0
-

Případně typeahead.js

Allconius
Člen | 313
+
0
-

skromny napsal(a):

napriklad cez jQuery.autocomplete – https://jqueryui.com/autocomplete/#…

plus teda zdroj dat (url: „search.php“) nahradit volanim vlastneho handle (url: {link getAlternatives!})

a potom v handleGetAlternatives si toto naplnit datami z dB a ako json vratit…

super to je přesně ono, moc díky ! :-)

Allconius
Člen | 313
+
0
-

skromny napsal(a):

napriklad cez jQuery.autocomplete – https://jqueryui.com/autocomplete/#…

plus teda zdroj dat (url: „search.php“) nahradit volanim vlastneho handle (url: {link getAlternatives!})

a potom v handleGetAlternatives si toto naplnit datami z dB a ako json vratit…

Ahoj, mohl bych se ještě zeptat jak ty data správně naformátovat? V kódu by to mělo vypadat takto:

<?php
    var availableTags = [
      "ActionScript",
      "AppleScript",
      "Asp",
      "BASIC",
      "C",
      "C++",
      "Clojure",
      "COBOL",
      "ColdFusion",
      "Erlang",
      "Fortran",
      "Groovy",
      "Haskell",
      "Java",
      "JavaScript",
      "Lisp",
      "Perl",
      "PHP",
      "Python",
      "Ruby",
      "Scala",
      "Scheme"
    ];
?>

tak jsem do šablony dal takto:

<?php
    var availableTags = [
{$data}
    ];
?>

s tím, že v presenteru je mám jako pole:

<?php
    $data = $this->dbManager->pridejData();
    $this->template->data = implode(",",$data);
?>

akorát se mi to pak tváří jako jeden záznam, asi protože to nemá ten původní formát ale je to vše na jednom řádku, bez těch uvozovek:

<?php
var availableTags = [
            "\"Abc\",\"Typ B\", z.s.,\"Sdružení folkloru\",\"Sdružení rodičů\",Fórum, AAEEEG, Asociace, Music, Publishing, z.ú. .....
    ];
?>
Allconius
Člen | 313
+
0
-

Allconius napsal(a):

skromny napsal(a):

napriklad cez jQuery.autocomplete – https://jqueryui.com/autocomplete/#…

plus teda zdroj dat (url: „search.php“) nahradit volanim vlastneho handle (url: {link getAlternatives!})

a potom v handleGetAlternatives si toto naplnit datami z dB a ako json vratit…

Ahoj, mohl bych se ještě zeptat jak ty data správně naformátovat? V kódu by to mělo vypadat takto:

<?php
    var availableTags = [
      "ActionScript",
      "AppleScript",
      "Asp",
      "BASIC",
      "C",
      "C++",
      "Clojure",
      "COBOL",
      "ColdFusion",
      "Erlang",
      "Fortran",
      "Groovy",
      "Haskell",
      "Java",
      "JavaScript",
      "Lisp",
      "Perl",
      "PHP",
      "Python",
      "Ruby",
      "Scala",
      "Scheme"
    ];
?>

tak jsem do šablony dal takto:

<?php
    var availableTags = [
{$data}
    ];
?>

s tím, že v presenteru je mám jako pole:

<?php
    $data = $this->dbManager->pridejData();
    $this->template->data = implode(",",$data);
?>

akorát se mi to pak tváří jako jeden záznam, asi protože to nemá ten původní formát ale je to vše na jednom řádku, bez těch uvozovek:

<?php
var availableTags = [
            "\"Abc\",\"Typ B\", z.s.,\"Sdružení folkloru\",\"Sdružení rodičů\",Fórum, AAEEEG, Asociace, Music, Publishing, z.ú. .....
    ];
?>

Problém je že některé názvy už jsou s uvozovkami „Abc“, „Typ B“ apod…

Jan Tvrdík
Nette guru | 2595
+
+1
-

V presenteru má být jenom

$this->template->data = $this->dbManager->pridejData();

a v šabloně jenom

var availableTags = {$data};
Ondřej Kubíček
Člen | 494
+
+1
-

pošli to pole bez implodu a mělo by stačit tohle

var availableTags = {$data}
Allconius
Člen | 313
+
0
-

super ! funguje perfektně, moc díky :-)

andrstom
Člen | 21
+
0
-

Ahoj Allconius, jsem ted v momente kde resim stejny problem jako ty. Mohl bys sem dat hotove reseni. Urcite se nas najde vic, kdo by se rad neco naucil. Moc by mi to pomohlo.

Nebo vite nekdo o nejake ukazce, ktera je pro nette?

Moc diky

dakur
Člen | 493
+
0
-

@andrstom Hotové řešení je napsané zde: https://forum.nette.org/…-psani-textu#…

Editoval dakur (2. 11. 2020 9:39)