Пересчет выгоды

66
18 марта 2022, 15:40

Есть такая конструкция http://joxi.ru/ZrJbgngCMDExkr

<span class="oldprice">
   <?=str_replace(" руб.","",$arPrice["PRINT_VALUE"])?> <span>&#8381;</span>
</span> 
<span class="discount_diff">-<? echo round($arPrice["DISCOUNT_DIFF_PERCENT"]);?>%</span>
<span class="catalog-price">                                               
   <?=str_replace(" руб.","",$arPrice["PRINT_DISCOUNT_VALUE"])?> <span>&#8381;</span>
</span>  
<span class="discount_advs">
  Выгода <?=str_replace(" руб.","",$arPrice["PRINT_DISCOUNT_DIFF"])?> <span>&#8381;</span>
</span>

Также, есть select вида (этот для ширины, есть еще для высоты и глубины):

 <select class="size " name="width">
    <?if (!isset($arResult["PROPERTIES"]["ATT_WIDTH_MANUAL"]) or count($arResult["PROPERTIES"]["ATT_WIDTH_MANUAL"]["VALUE"]) <= 1) {
       while ($min_w <= $max_w) {?>
        <option <?if ($min_w == $val_w) {echo 'selected="selected"';}?> value="<?=$min_w?>">
          <?echo $min_w.' мм'; if ($min_w == $val_w) {echo ' (стандартная)';}?>
       </option>
       <?$min_w = $min_w + 100;
       }
    }else{
    foreach ($arResult["PROPERTIES"]["ATT_WIDTH_MANUAL"]["VALUE"] as $value){?>
       <option <?if ($value == $val_w) {echo 'selected="selected"';}?> value="<?=$value?>">
          <?echo $value.' мм'; if ($value == $val_w) {echo ' (стандартная)';}?>
       </option>
    <?}
    }?>
 </select>

Если поменять Высоту(Ширину, глубину) произойдет пересчет цены. Нужно каким-то образом посчитать выгоду (разницу между печеркнутой ценой и обычной). На select висит событие вида (как я понимаю, оно и осуществляет подмену цены):

$(function() {
   $(".size").on("click",function(){
      if($("select.size[name='width']").length>0){
         cur_sizes["width"] = parseInt($("select.size[name='width']").val());
      }
      if($("select.size[name='height']").length>0){
         cur_sizes["height"] = parseInt($("select.size[name='height']").val());
      }
      if($("select.size[name='depth']").length>0){
         cur_sizes["depth"] = parseInt($("select.size[name='depth']").val());
      }     
   });   
   $(".size").change(function(){          
      ajax_load("Y");
      <?if($arResult["PROPERTIES"]["ATT_WDITH_FUR_RISK"]["VALUE_XML_ID"] == "Y"){?>       
         if(($("select[name='width']").val()>=999)&&($("input[name='prop[ATT_NAPRAV]']").val() == "28843")){
            show_modal("simple_modal","modal_for_profile_alert","Внимание!","Необходимо либо сменить тип направляющих на более надежные, либо уменьшить ширину изделия так как для текущей выбранной ширины нагрузка на направляющие ящика превышает норму.");
         }
      <?}?>
      <?if($arResult["PROPERTIES"]["ATT_SLIDING_SYSTEM_TYPE_2"]["VALUE"]>0 && $arResult["PROPERTIES"]["ATT_SLIDING_SYSTEM_TYPE_2"]["VALUE"] != "37402"){//не версаль?>   
         if($(this).attr("name")!="depth"){
            recalc_door_weight($(this).attr("name"));
         }
      <?}?>    
      cur_height = $("select[name='height']").val();
      item_id = $("input[name='prop[ATT_KOMPONOVKA]']").val();
      //console.log("comp_arr.length");
      //console.log(Object.keys(comp_arr).length);
      componovka_i_visota(comp_arr,item_id,cur_height);           
      return false;
   }); 
   $(".props").change(function(){ 
      //console.log(this.tagName);
      if(this.tagName == "SELECT"){
         ajax_load("Y");
      }else{
         ajax_load();
      }       
      return false;        
   });
}); 

В JS новичок. Помогите разобраться, пожалуйста

READ ALSO
Не могу понять JavaScript [закрыт]

Не могу понять JavaScript [закрыт]

Хотите улучшить этот вопрос? Переформулируйте вопрос так, чтобы на него можно было дать ответ, основанный на фактах и цитатах

182
Автопрокрутка ScrollViewer в C# UWP

Автопрокрутка ScrollViewer в C# UWP

Имеется кусок кода

113
Как работать с offline картой OpenStreetMaps на C#?

Как работать с offline картой OpenStreetMaps на C#?

Пишет cz десктопное ПО на С#, в котором должна отображаться картаПО должно работать offline

101
Программа не находит ключ Словаре

Программа не находит ключ Словаре

Я программирую в Visual Studio 2019

58