Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [jQuery][autocomplete] Przekazanie pozostałych wartości
Forum PHP.pl > Forum > Po stronie przeglądarki > JavaScript
einter-project
Witam
Po raz pierwszy bawię się Autocomplete. Całość działa super z tym że nie wiem jak przekazać pozostałe wartości do pól formularza.
  1.  
  2. <form name="szukaj" action='' method='post'>
  3.  
  4. <div style="clear: both; padding-top: 20px;">
  5. <div style="float: left; width: 150px; text-align: right; padding-right: 5px;"><b>Nazwa produktu:</b></div>
  6. <div style="float: left; text-align: left;">
  7. <input class="inputText" type="text" id="szukaj_produktu" value="" name="szukaj_produktu"/>
  8. </div>
  9. </div>
  10.  
  11. <div style="clear: both; padding-top: 5px;">
  12. <div style="float: left; width: 150px; text-align: right; padding-right: 5px;"><b>Cena:</b></div>
  13. <div style="float: left; text-align: left;">
  14. <input class="inputText" type="text" id="cena" value="" name="cena"/>
  15. </div>
  16. </div>
  17.  
  18. <div style="clear: both; padding-top: 5px;">
  19. <div style="float: left; width: 150px; text-align: right; padding-right: 5px;"><b>Waga:</b></div>
  20. <div style="float: left; text-align: left;">
  21. <input class="inputText" type="text" id="waga" value="" name="waga"/>
  22. </div>
  23. </div>
  24.  
  25. <script type="text/javascript">
  26. $("input[name='szukaj_produktu']").autocomplete('produkty.php', {
  27. width: 300,
  28. minChars: 3,
  29. formatItem: function(row, i, max) {
  30. return "<b>" + row[1] + "</b><br> (Id: " + row[0] + ") cena: " + row[2] + " lt, waga: " + row[3] + "";
  31. },
  32. formatMatch: function(row, i, max) {
  33. return row[1];
  34. },
  35. formatResult: function(row) {
  36. return row[1];
  37.  
  38. }
  39.  
  40. });
  41. </script>
  42.  


Jak przekazać wartość row[2] do pola cena.
Pozdrawiam
nospor
No z kodu wynika, że masz to zrobic tu:
Kod
formatResult: function(row) {
                                     return row[1];

                                 }

A na przyszlosc podawaj linka do strony liba, którego używasz.
Monter08
Jeżeli chcesz przekazać wartość to użyj funkcji val().
einter-project
Dzięki nospor ale
funkcja formatResult: function(row) przekazuje mi nazwę do szukaj_produktu a ja chce jeszcze wyciągnąć do innych pól inne wartości, np
do pola cena chce wartość row[2].

Pozdrawiam
nospor
No, a ja ci przecież napisałem, że właśnie tam masz zrobić zmiany. Jak chcesz coś dodać do innych pól to właśnie w formatResult
einter-project
oki a możesz dać jakiś przykład, bo szukam naprawdę długo jak to przekazać. Po raz pierwszy się tym bawię więc nie za bardzo wiem co do czego.

Pozdrawiam
nospor
No ale jquery to chyba umiesz używac?
Kod
                               formatResult: function(row) {
jQuery("#cena").val(row[2]);
                                     return row[1];

                                 }
einter-project
Dzięki jest tylko mały problem że nie podaje wartości ceny wybranego produktu, tylko ostatniego rekordu z listy. Możesz jeszcze tutaj mi pomóc?
nospor
Podaj linka do strony klasy, której używasz. Prosiłem cie o to parę postów temu.
einter-project
Aj przepraszam myślałem że chodzi o link do strony a robię na lokalu.

Robiłem według tych artykułów

http://blog.tobiasz.org/2011/01/18/jquery-...ocomplete-cz-i/
http://blog.tobiasz.org/2011/01/24/jquery-...complete-cz-ii/

a plugin Autocomplete pobrałem z tąd:
http://bassistance.de/jquery-plugins/jquer...n-autocomplete/

Do strony dołączone są:
<link type="text/css" href="public/css/admin_style.css" rel="stylesheet" />
<link type="text/css" href="public/js/css/redmond/jquery-ui-1.7.1.custom.css" rel="stylesheet" />
<link type="text/css" href="public/js/jqueryFileTree.css" rel="stylesheet" media="screen" />
<link type="text/css" href="public/css/jquery.Jcrop.css" rel="stylesheet" />
<script type="text/javascript" src="public/js/jquery-1.3.2.min.js"></script>
<script type="text/javascript" src="public/js/jquery-ui-1.7.1.custom.min.js"></script>
<script type="text/javascript" src="public/js/swfobject.js"></script>
<script type="text/javascript" src="public/js/jquery.idTabs.min.js"></script>
<script type="text/javascript" src="public/js/jquery.easing.js"></script>

<script type="text/javascript" src="public/js/jqueryFileTree.js"></script>
<script type="text/javascript" src="public/js/jquery.Jcrop.js"></script>
<script type="text/javascript" src="public/js/ajaxupload.js"></script>

<script type="text/javascript" src="public/js/jquery.autocomplete.js"></script>
<link type="text/css" href="public/css/jquery.autocomplete.css" rel="stylesheet" />

To nie jest mój wynalazek, pracuje na istniejącym sklepie, chce dodać tylko funkcjonalność edycji zamówienia.

Pozdrawiam



nospor
Kod
..... blabla autocomplete
//a pod spodem
$("input[name='szukaj_produktu']").result(function(event, data, formatted) {
jQuery("#cena").val(data[2]);

});

A na przyszlosc zaglądaj do dokumentacji i przykładów bo tam to wszystko jest pokazane
einter-project
Dżeki serdeczne za pomoc.
Powiem Ci że dokładnie to wpisałem, tylko kombinowałem z

$("input[name='szukaj_produktu']").result(function(event, data, formatted) {
document.szukaj.szukaj_produktu.value = val(data[2]
});

Jeszcze raz dziękuje.

Pozdrawiam


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-2025 Invision Power Services, Inc.