многократный расчет с разными ценами

0

Я сделал небольшой скрипт для вычисления чисел и цены на orderform. Как бы мне ни понадобилась помощь, чтобы выяснить, как рассчитать разные цены на разные объекты и количество объектных объектов

Теперь мой скрипт выглядит так

 function calculateSum() {
  var antal = 0;
  var sub = 0;
  var price = 30;
  $(".mad" && ".mad2").each(function() {
  //add only if the value is number
  if (!isNaN(this.value) && this.value.length != 0) {
  antal += parseFloat(this.value);
  sub = antal * price;
  $(this).css("background-color", "#ffffff");
  }
  else if (this.value.length != 0){
  $(this).css("background-color", "#e68d8d");
  }
  });
  $("#antalrug").html(antal.toFixed(0));
  $("#subtotal").html(sub.toFixed(0));
 }

до сих пор так бог, однако мне нужно, чтобы цена была гибкой, так что если ее ".mad" ее 30 и если ее.mad2 ее 35! Как настроить его так, чтобы вычисление зависело от класса ведьмы, на который смотрит функция?

Что-то вроде:

if (this = "mad2") {
      price = 35; 
  }
else {
      price = 30;
      $(

Я просто не могу заставить его работать, я попробовал оба sugestion, мой скрипт теперь выглядит так

    $(".mad, .mad2, .mad3, .mad4, .mad5, .mad6").each(function() {
        //add only if the value is number
        if (this.value.trim().length != 0 && !isNaN(this.value.trim()) ) {
        //Set max to 25
        if (this.value >= 25){
        this.value= 25
        }
        if($(this).hasClass("mad2")){
            price = 35;
            }
        else{
            price = 30;
            }
            antal += parseFloat(this.value);
            subtotal = antal*price;
            $(this).css("background-color", "#ffffff");
        }
        else if (this.value.length != 0){
             $(this).css("background-color", "#e89898");
        }
    });

buth теперь все цены 35?

  • 1
    Вы, вероятно, имеете в виду $ (". Mad, .mad2") вместо $ (". Mad" && ".mad2") ...
  • 0
    И вы должны думать о "==" как о операторе сравнения, а не о "=".
Показать ещё 1 комментарий
Теги:

2 ответа

1

внутри каждой функции

if ($(this).is('.mad')) {
    price = 30;
} else {
    price = 35;
}
  • 0
    Я просто не могу заставить его работать (см. Мое сообщение о том, что я сделал)
0

Почему бы не дать двум селекторам.mad1 и mad2 дополнительный класс, и тогда вы можете это сделать:

$(".newClass").each(function() {

    if($(this).hasClass("mad1")){
        price = 30;
    }
    else{
        price = 35;
    }
}
  • 0
    Я просто не могу заставить его работать, ты и Radeks Solution

Ещё вопросы

Сообщество Overcoder
Наверх
Меню