Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [jQuery][autocomplete] Przekazanie wielu danych
Forum PHP.pl > Forum > XML, AJAX
maniek74
Witam
Potrzebuje zrobić wyszukiwarkę klienta po polu NIP.
W jaki sposób można zrobić taką wyszukiwarkę żeby pokazywało wyniki zamiast jednej frazy coś w stylu:
Nazwa firmy Imię Nazwisko
Adres
kod pocztowy Miasto.
NIP REGON
--------------------------
Nazwa firmy Imię Nazwisko
Adres
kod pocztowy Miasto.
NIP REGON
--------------------------
Nazwa firmy Imię Nazwisko
Adres
kod pocztowy Miasto.
NIP REGON
--------------------------

i po wybraniu firmy żeby uzupełniło pola formularza.

Pozdrawiam
aras785
Cześć.

autocomplete: https://stackoverflow.com/questions/1823147...n-jquery-ui-1-8

Osobiście korzystam z wtyczki select2 ( https://select2.github.io/ )

Przykładowy kod wykorzystania:


HTML:
  1. <select id="szukaj">
  2. <option value=""></option>


JS:
  1. $(function() {
  2.  
  3. function szablon(data) {
  4. if (!data.id) {
  5. return data.text;
  6. }
  7. var $data = $(
  8. '<span><center><img src="' + data.logo + '" style="width:50px;" class="img-responsive" /> ' + data.text + '</center></span>'
  9. );
  10. return $data;
  11. };
  12.  
  13. $('select#szukaj').select2({
  14. placeholder: "Szukaj po nazwie",
  15. minimumInputLength: 1,
  16. width: '100%',
  17. ajax: {
  18. url: 'ajax.php',
  19. dataType: 'json',
  20. processResults: function(data) {
  21. return {
  22. results: data.items
  23. };
  24. },
  25.  
  26. },
  27. templateResult: szablon
  28. }).on('change', function() {
  29. window.location.href = $(this).val();
  30. });
  31. });


AJAX.PHP

  1. [...]
  2. $result['items'][] = array('id' => $wynik->id, 'text' => $wynik->nazwa, 'logo' => $wynik->logo);
  3. [...]
  4. echo json_encode($return);


Wynik:
https://i.imgur.com/Sb7J6ak.png



To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2024 Invision Power Services, Inc.