Witam, mam mały problem a jestem zielony z js i ajax.
Stworzyłem aktywny formularz, w którym można dodawać i usuwać linijki.
Nazwy są w postaci nazwa[] czyli tworzy się tablica nazw.
Mam problem z wywołaniem funkcji pobierającej dane z bazy.
Ogólnie działa ale tylko dla pierwszej linii w formularzu.

Funkcja wygląda tak:

  1. $(document).ready(function() {
  2.  
  3. $('select.ilosc').change(function() {
  4. $.getJSON('pobierz_cene.php', {ilosc: $(this).val()}, function(data) {
  5. $('input.okno_cena').val(($('input.ukryta_cena').val()*data.inputValue).toFixed(2));
  6. $('input.ukryta_ilosc').val(data.inputValue);
  7. sumaCena();
  8. });
  9. });
  10.  
  11. });


select w formularzu wygląda tak
  1. echo '<select name="uslugi[]" class="uslugi">';
  2. echo '<option value="0" selected="selected">Wybierz usługę</option>';
  3. while($usluga = mysql_fetch_assoc($zapytanie)) {
  4. echo '<option value="'.$usluga['id_services'].'">'.$usluga['name'].'</option>';
  5. }
  6. echo '</select>';
  7. <input style="width: 40px;" id="okno_cena[]" class="okno_cena" value="0.00"/>


Funkcja działa ale wszystkie pola input.okno_cena zmieniają się jednocześnie. Funkcja działa tylko dla pierwszego selecta.

Problem w tym, że funkcja ta operuje na całej klasie a nie pojedynczym obiekcie okno_cena.
Jak to zmienić?