Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> jquery ui autocomplete - zastosowanie pętli
niebieszki
post
Post #1





Grupa: Zarejestrowani
Postów: 27
Pomógł: 0
Dołączył: 30.09.2010

Ostrzeżenie: (0%)
-----


Witam posiadam zmienne o id tablicowych i chciałbym aby poniższa funkcja odnosiła się do nich wszystkich
Funkcja ta to jquery ui autocomplete... działajaca porprawnie dla elementy 1 z tablicy. Oto jej kod
[JAVASCRIPT] pobierz, plaintext
  1. $( '#product_name\\[1\\]' ).autocomplete({
  2. source: function(req, add){
  3. $.ajax({
  4. url: base_url + 'shop/bill/search_product',
  5. dataType: 'json',
  6. type: 'POST',
  7. data: req,
  8. success: function(data){
  9. if(data.response =='true'){
  10. add(data.message);
  11. }
  12. }
  13. });
  14. },
  15. minLength: 1,
  16. select: function(event, ui){
  17. $('#sell_price\\[1\\]').val(ui.item.price);
  18. $('#product_id\\[1\\]').val(ui.item.id);
  19. }
  20. });
[JAVASCRIPT] pobierz, plaintext


Chciałbym dodać pętle która wykona autocomplete dla wszystkich zmiennych z tablicy (no powiedzmy aby było prościej to dla 100 pierwszych) nie tylko dla 1 elementu więc zmieniłem kod na taki:

[JAVASCRIPT] pobierz, plaintext
  1. var i=0;
  2. while(i <= 100){
  3. $( '#product_name\\['+i+'\\]' ).autocomplete({
  4. source: function(req, add){
  5. $.ajax({
  6. url: base_url + 'shop/bill/search_product',
  7. dataType: 'json',
  8. type: 'POST',
  9. data: req,
  10. success: function(data){
  11. if(data.response =='true'){
  12. add(data.message);
  13. }
  14. }
  15. });
  16. },
  17. minLength: 1,
  18. select: function(event, ui){
  19. $('#sell_price\\['+i+'\\]').val(ui.item.price);
  20. $('#product_id\\['+i+'\\]').val(ui.item.id);
  21. }
  22. });
  23. i++;
  24. };
[JAVASCRIPT] pobierz, plaintext

Podpowiedz autocomplitera nadal działają przy takiej deklaracji lecz niestety już zmienne nie są dodawane do pól #sell_price i #product_id.

Gdzie może być błąd?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
everth
post
Post #2





Grupa: Zarejestrowani
Postów: 782
Pomógł: 153
Dołączył: 21.07.2010

Ostrzeżenie: (0%)
-----


Niewydajne? W jakim sensie? Przecież to jest odpalane raz w całym skrypcie - dłużej będą trwać odpowiedzi na zapytania AJAXowe. Poza tym nie jestem pewien czy silnik jQuery domyślnie nie zapamiętuje wyników działania selektora. Nie łapię sensu takiej optymalizacji, przynajmniej nie tutaj.
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 6.10.2025 - 22:10