Funkcja licząca ceny z danego wiersza tabeli

0

Witam,

mam tabelę HTML (nazwa produktu, cena kupna, koszta dodatkowe, marża, cena netto, przycisk "przelicz")
W każdej komórce mam <input> gdzie mogę edytować wartości.

Jak napisać funkcję obliczającą wartości TYLKO z wybranego wiersza i zapisującą wartość do "cena netto".
Nie chcę obliczać wszystkich produktów na raz.
Nie chcę też powtarzać funkcji tylko skorzystać z jednej.

Przykładowo:
W przycisku "przelicz" miałoby być: onclick="przelicz(1)" gdzie 1 będzie oznaczało numer wiersza.
Pola "nazwa", "cena_kupna", "koszta_dodatkowe", "marza", "cena_netto" mogą zawierać przykładowo:name="nazwa[1]"

Czy ma ktoś jakiś pomysł ? Niestety nie znam się zbytnio na JS.

UPDATE:

A może inaczej: Jak przeczytać i zapisać do zmiennej dane z
<input name="wiersz[1]" id="wiersz[1]" value="bla bla" />
gdzie 1 to nasz indeks

Pozdrawiam!

0

za pomoca getElementById dostajesz sie do odpowiedniego input z cena kupna
zalezy w jakich znacznikach masz pozostale wartosci (koszta_dodatkowe, marza), czy w input, czy w innych tagach (bezpośrednio w td?)
najlatwiej miec je rowniez w inputach, moga byc nieedytowalne, bo z tagow bedzie troche trudniej wybrac, chybaze beda mialy id, inputy powinny tez miec id (oczywiscie unikalne) , częścia id powinien być nr wiersza

function przelicz(rowId)
{
  var cenaKupna = document.getElementById('cena_kupna_'+rowId).value; // zakladam ze input ma np. id=cena_kupna_1
  ...
}

sprobuj cos pokombinować, dostałeś wędkę, do dzieła, jak czegoś konkretnego nie wiesz - pytaj

0

Te stringi typu wiersz[1] są przetwarzane na tablice dopiero na serwerze jak wysyłasz je dla PHP. JavaScript widzi to po prostu jako pole o nazwie wiersz[1] (aż sam sprawdziłem).

document.getElementById('wiersz[1]').value

Tak samo jak z normalną zmienną. Jak masz funkcje to robisz tak jak massther napisał:

function ustawZero(indeks) {
   document.getElementById('wiersz[' + indeks + ']').value = '0';
}
0

Super :) document.getElementById('cena_netto[' + id + ']').value = '25';
O to mi chodziło :)

1 użytkowników online, w tym zalogowanych: 0, gości: 1