Показать сообщение отдельно
  #1 (permalink)  
Старый 08.12.2018, 04:34
Новичок на форуме
Отправить личное сообщение для kotekiller Посмотреть профиль Найти все сообщения от kotekiller
 
Регистрация: 14.12.2016
Сообщений: 8

Применить функцию к одному элементу
Здравствуйте.

Подскажите как применить функцию к одному элементу. Сейчас скрипт выглядит так:

$('input[name='+id+']').each(function(){
...
}


Но очевидно что инпут такой на странице только один. Не хочу говнокодить, поэтому прошу вашей помощи.

В гугле все перерыл, через get() не работает, через find() тоже.

Ну и полный скрипт на всякий случай приложу. Опыта очень мало, сильно тапками не кидайте.

// Меняем значение input кнопками + и -
function change_quantity(id, quantity) {
  var current = parseInt($('input[name='+id+']').val());
  if (isNaN(current)) current = 0;
  $('input[name='+id+']').val(current+quantity);
  recalc(id);
}

// Валидация введенного значения
function recalc(id) {
  $('input[name='+id+']').each(function(){

    var current = $(this).val();
    var min = 0;
    var step = $(this).attr('step');
    var max = $(this).attr('max');
    var avalible = $('#v-sin > input').prop('checked');

    // Округляем кратно step (количества товаров в упаковке)
    current = Math.ceil(current/step)*step;

    if (current < 0) current = 0;
    if (current > max && avalible) current = max;

    $(this).val(current);
  })
}
Ответить с цитированием