@deantek

Как правильно написать функцию, чтобы она работала для разных слайдов по отдельности?

Есть слайд с 4 радио кнопками, которые считают цену и выводят в span
как сделать так, чтобы при добавлении второго слайда не переписывать тоже самое?
То есть функция должна работать на все слайды и в каждом слайде должно считать только свою цену при переключении кнопок? Вот то, что написал я:
<div class="container">
      <div class="toggle">
        <div class="disk">
          <label for="disk" class="d-left">
            <input type="radio" name="disk"value="100">
            <span>ssd</span>
          </label>
          <label for="disk" class="d-right">
            <input type="radio" name="disk" value="40" checked>
            <span>hdd</span>
          </label>
        </div>
      </div>

      <div class="toggle2">
        <div class="os">
          <label for="os" class="os-left">
            <input type="radio" name="os"  value="990">
            <span>Windows</span>
          </label>
          <label  for="os"class="os-right">
            <input type="radio" name="os"  value="700" checked>
            <span>Linux</span>
          </label>
        </div>
      </div>
    </div>
    <span class="total_month">740</span><br>
    <span class="total_min">0,017</span><br>


$().ready(function(){
      let disk;
      let os;
      let total;
      let mtotal;
      $('input[type=radio]').on('change', function(){
            $('.disk').find('input').each(function(){
              if ( $(this).prop('checked') ) {
                disk = $(this).val()*1;
                console.log(disk);
              }
            })
            $('.os').find('input').each(function(){
              if ( $(this).prop('checked') ) {
                os = $(this).val()*1;
                console.log(os);
              }
            })
            total = disk+os;
            console.log(total);
            mtotal = total/30/24/60;
            mtotal = mtotal.toFixed(3).replace('.', ',');
            $('.total_month').text(total);
            $('.total_min').text(mtotal);
        })
    })


Если можно, покажите пример
  • Вопрос задан
  • 59 просмотров
Решения вопроса 1
coderisimo
@coderisimo Куратор тега JavaScript
Общая идея ф-ции, которая работает для всех элементов одинакового типа

Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы