jeden skrypt, wiele formularzy - problem

0

Witam wszystkich,

chciałbym na wstępie zaznaczyć że javascript nie znam, a potrzebuję na już gotowego rozwiązania do innego projektu.

Mam formularz, gdzie plusem lub minusem zmieniam jego wartość - gotowiec z neta - http://jsfiddle.net/dk4by1L3/2/

Potrzebuję, aby dodając drugi <form> on także działał. W tej chwili jeśli mamy więcej niż jeden formularz, działa tylko pierwszy. Chciałbym aby każdy działał niezależnie. Ma ktoś jakiś pomysł aby mnie naprowadzić jak to zrobić? Z góry nie wiem ile na stronie będzie formularzy, bo gdyby były 3 to mógłbym naokoło sobie to rozwiązać i dać 3 różne funkcje i każdy formularz podpiąć pod inną.

Wygląda on tak:

<!-- pierwszy formularz -->
<form>
<input id="qty" name="my_name" value="1">
<a href="#" id="addition">+</a>
<a href="#" id="substraction">-</a>
</form>
<!-- drugi formularz -->
<form>
<input id="qty" name="my_name" value="1">
<a href="#" id="addition">+</a>
<a href="#" id="substraction">-</a>
</form>
// up down value changer ( +, -  )
function value_changer(source, action) {
  var current_value = parseFloat($('#' + source).val());
  var new_value = 0;

  if (action == '+')
    new_value = current_value + (current_value < 0.5 ? 0.1 : 0.5);
  else
    new_value = current_value - (current_value <= 0.5 ? 0.1 : 0.5);

  if (new_value < 0.1) new_value = 0.1;

  $('#' + source).val(new_value.toFixed(2));
}

//addition or substraction of the updated value
$('#addition').click(function() {
  value_changer("qty", "+");
});

$('#substraction').click(function() {
  value_changer("qty", "-");
});

Z góry dzięki za jakąkolwiek pomoc. Pozdrawiam

0

ID każdego elementu musi być unikalny, więc w drugim formularzu ustaw
qty1
addition1
substraction1

I wywołaj:

//addition or substraction of the updated value
$('#addition1').click(function() {
  value_changer("qty1", "+");
});

$('#substraction1').click(function() {
  value_changer("qty1", "-");
});

I niby możesz tak zrobić dla dowolnej liczby formularzy, ale w takim wypadku wypadałoby raczej przerobić funkcję na bardziej uniwersalną.

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