Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [AJAX] jQuery problem z powtórzeniem
Forum PHP.pl > Forum > Przedszkole
lukasz_web
Ładuje zawartość pliku test.php bez przeładowania strony po kliknięciu w link i wszystko pięknie:
Kod
<script type="text/javascript">
    jQuery(document).ready(function() {
        $("#addScnt").click(function() {
            var tekst = $('input[size=30]').val();
            $.ajax({
                url: "test.php",
                type: "POST",
                data: "indeks="+tekst,
                success: function(msg) {
                    $("#kontener").text(msg);
                }
            });
        });
    });
    </script>

Ale linków mam klika i ładuje zawartość tylko dla jednego ;/. W firebugu widzę że ładuje za każdym razem po kliknięciu w link plik test.php i super, ale uzupełnia <div id="kontener"></div> dla pierwszego kliknięcia ;/

-Marek-
Skoro masz identyfikator # to chyba oczywiste.
lukasz_web
Kod
$('#mojIdentyfikator'); // pamiętaj, że identyfikatory nie mogą się powtarzać w obrębie dokumentu


Racja no to zmieniłem tak:

Kod
<script type="text/javascript">
    jQuery(document).ready(function() {
        $("#addScnt").click(function() {
            var tekst = $('input[size=30]').val();
            $.ajax({
                url: "test.php",
                type: "POST",
                data: "indeks="+tekst,
                success: function(msg) {
                    $('div.kontener').text(msg);
                }
            });
        });
    });
</script>


I mam kilka
Kod
<div class="kontener"></div>
Teraz do każdego tego diva ładuje mi jedną i tą samą pierwszą wartość. No jest to logiczne... ale nie rozwiązuje to mojego problemu ;/
b4rt3kk
Mógłbyś sprecyzować, co takiego chcesz osiągnąć? Chodzi o to, że masz x divów i chcesz po kolei wypełnić je treścią? Użyj next().
lukasz_web
Dokładnie TAK. Tutaj nawet jest to ładnie opisane z next() http://www.bt4.pl/artykuly/jquery/jquery-poczatek/ ale nie mogę tego przełożyć na swój przykład:

Kod
<script type="text/javascript">
    jQuery(document).ready(function() {
        $("#addScnt").click(function() {
            var tekst = $('input[size=30]').val();
            $.ajax({
                url: "test.php",
                type: "POST",
                data: "indeks="+tekst,
                success: function(msg) {
                    $("#kontener").next().text(msg);
                }
            });
        });
    });
    </script>


  1. <div id="kontener"></div>
  2. <div id="kontener"></div>
  3. <div id="kontener"></div>
  4. ...


Wpiszę mi wartość tylko do pierwszego diva. Jak zmienię identyfikator na class to dopisuje mi pierwszą wartość pobraną z pliku test.php do wszystkich divów
nospor
ID to ID... ma byc UNIKALNE. Nadawaj klasy dla DIVow i odwoluj sie do nic przez klase a nie przez ID
b4rt3kk
Po pierwsze to co pisze nospor, a po drugie używaj komend z głową, a nie wstawiasz jak leci i oczekujesz że zadziała.

Masz: http://jsfiddle.net/Yms7X/

Zastosuj podobny sposób u siebie.
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.