Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [JavaScript][PHP]zmienna z foreach do skryptu JS
Forum PHP.pl > Forum > Przedszkole
jacobson
Witam mam taki problem... mam kod w pliku widoku ktory mi laduje rekordy jeden pod drugim
  1. foreach ($records as $item) {
  2. echo "<div id=\"content_main_entry\">(here i want to make a link with the $item->mine inside as a link parameter)
  3. <span class=\"content_main_entry_value\">Value</span></div>
  4. <div id=\"content_main_entry_enroll\">(here i want to make link with id "iwanttoclickthis")Zapis</div>";
  5. }


probowalem stworzyc skrypt w tym samym pliku widoku ktory by po nacisnieciu id iwanttoclickthis wywolywal alert o informacji $item->mine, jednak nie moge tak zrobic poniewaz w funkcja ajaxa nie zna zmiennej $item->mine... jak mozna to zrobic zeby dzialalo poprawnie ?
pozdrawiam
phpion
Abstrahując od problemu (który nie bardzo rozumiem) to nie możesz mieć kliku elementów o tym samym atrybucie ID. Jeśli iterujesz po elementach to nadawaj ID dynamicznie np. poprzez doklejenie do nazwy atrybutu ID iterowanego elementu.

PS: Przenoszę na przedszkole. Twój kod nie ma nic wspólnego ani z CI, ani z MySQL. Zmień też proszę temat postu na lepiej opisujący problem. Wstawienie tagów oraz dopisanie "problem" niewiele mówi.
jacobson
a wlasnie wedlug mnie to ma duzo wspolnego z CI gdyz jezeli nie bedzie sie dalo wstawic skryptu w widoku to mzoe trzeba bedzie operowac bardziej na kontrolerach ... a to juz troche moze byc zwiazane z CI. Dziekuje za podsuniecie problemu z ID, zaraz to zmienie. A nie wie mco jeszcze moge napisac w zwiazku z problemem to wydaje mi sie ze wszystko wytlumaczylem. Jezeli zrobilbym tak jak napisalem w pierwszym poscie ze jest skrypt :
  1. <script type="text/javascript">
  2. $(document).ready(function(){
  3. $("a#iwanttoclikcthis").click(function(){
  4. var mine = <?php echo $item->mine; ?>;
  5. alert(mine);
  6. });
  7. });
  8. </script>


kiedy ten kod jest nad kodem foreach ..... to w kodzie skryptu nie widzi zmiennej $item->mine ktora dopiero jest tworzona w petlu foreach... wywolywanie skryptu w petlu foreach tez jest wedlug mnie glupie dlatego moze ktos zna jakies dobre rozwiazanie mojego problemu.
pozdrawiam
phpion
Napisz co chcesz osiągnąć, bo naprawdę nie jestem w stanie sam do tego dojść. Co jest w $item->mine? Co ma się stać po kliknięciu w link? Może wystarczy wpisać $item->mine do jakiegoś tagu HTML nadrzędnego dla linku nadając mu jakąś klasę i odczytać zawartość (czyli $item->mine) poprzez jQuerowe closest()?
jacobson
w pierwszym poscie napisalem ze chce stworzyc link z tym $item->mine w foreachu ( to po angielsku ). a nie moge sie odwolac do zmiennej $item->mine w skrypcie JS ja nie wiem co tu jest do zrozumienia...
maviozo
Rozumiesz chyba fakt, że $item istnieje tylko w obrębie pętli foreach? Wszędzie indziej ta zmienna nie istnieje.
mls
Cytat(maviozo @ 21.05.2011, 19:15:10 ) *
Rozumiesz chyba fakt, że $item istnieje tylko w obrębie pętli foreach? Wszędzie indziej ta zmienna nie istnieje.


Rozumiesz chyba fakt, że $item istnieje także poza pętlą foreach?...
Ja rozumiem, że to jest Przedszkole, ale czy to oznacza, że można tu takie głupoty wypisywać?
maviozo
Ok, masz rację, zostaje ostatni element z pętli. Mój błąd.
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.