Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [jquery][autocomplete][php]Jak uruchomić autouzupełnianie
Forum PHP.pl > Forum > Po stronie przeglądarki
Ilware
Witam wszystkich,

normalnie metody autocomplete używałem zawsze w ten sposób:

  1. $().ready(function() {
  2. $("input[name='x']").autocomplete('x.php',{delay:100,autoFill:false,max:10,minChars:2});
  3. });


ale tym razem mam problem, bo input do którego chcę ją zastosować jest dodawany dynamicznie przez użytkownika już po załadowaniu strony.Próbowałem dodać do inputa onclick="java script:costam()" a autocomplete zamieścić w funkcji ale tak nie działa. Wie ktoś może jak się z tym uporać?
askone
Spróbuj tak:
[JAVASCRIPT] pobierz, plaintext
  1. $(function() {
  2. $("#button_newproduct").click(function(){
  3. var input = $("<input type='text' name='td_products["+counter+"]' />");
  4.  
  5. $("#products_table > tbody").append(input);
  6.  
  7. input.autocomplete('x.php',{delay:100,autoFill:false,max:10,minChars:2});
  8. });
  9. });
[JAVASCRIPT] pobierz, plaintext


Całość polega na każdorazowym podłączeniu funkcji autocomplete do dynamicznie dodawanego elementu.
Ilware
Chyba źle wytłumaczyłem o co mnie chodzi,

nie chcę stworzyć funkcji która dodaje input bo takowy już mam.Ze strony głównej za pośrednictwem Ajaxa xhr.open(); wysyłam dane do skryptu php, ten zwraca mnie określony formularz i umieszczam go w DIV'ie na stronie.I teraz cały problem polega na tym żeby ten formularz który powstał w pliku php posiadał opcję autocomplete. Dodam jeszcze że zależnie od wyboru użytkownika jest tworzony inny formularz. A realizuję to za pomocą php bo potrzebuję do wyświetlenia informacji DB.
demolka666
Wywołujesz skrypt autouzupełniania podczas ładowania strony. Wydaje mi się, że musisz go wywołać dopiero po załadowaniu tego diva, którego będzie on dotyczył.
askone
Sprawa jest prosta - przynajmniej na taką wygląda winksmiley.jpg

Algorytm:
  • wysyłasz dane ajax do skryptu
  • otrzymany kod formularza wrzucasz do div'a
  • uruchamiasz polecenie .autocomplete na inputach wewnątrz tego formularza


Prawda, że proste...

Dokładniej
[JAVASCRIPT] pobierz, plaintext
  1. $(function() {
  2. $("#button_formularz").click(function(){
  3. $.ajax(
  4. url : "skrypt php"
  5. data : {dane do skryptu}
  6. success : function(data){
  7. $("id_div_dla_formularza").html(data.form);
  8. $("#id_formularza").find("input").autocomplete('x.php',{delay:100,autoFill:false,max:10,minChars:2})
  9. }
  10. )
  11. });
  12. });
[JAVASCRIPT] pobierz, plaintext


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.