- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
- 62
- 63
- 64
- 65
jQuery('#index_submit').click(function(){
var val = jQuery('#indexCity').val(),obj,
allWeightCeil = Math.ceil(allWeight/1000),
new_del_address = jQuery('#new_del_address');
if (val.toString() == parseFloat(val, 10) && val.length == 6) {
obj = answerFunc(val,allWeight,'info_zip');
if (obj != 'undefined' && obj != '') {
if (obj.cityname != '') {
jQuery('#cityIndex').text('Ваш город: '+obj.cityname); jQuery('#new_del_address').slideDown('normal');jQuery('#new_del_address>*').show();city_field.val(obj.cityname);index_field.val(val);
if (obj.cityname == 'Москва' || obj.cityname == 'Калуга') {
jQuery(".from_russia_block #selectPVZ_russia").show();
jQuery('#moscow').click();
} else {jQuery(".from_russia_block #selectPVZ_russia").hide();}
jQuery('.from_russia_block input.deliv-radio').change(function(){
var thisRadio = jQuery(this),
percent = parseFloat(thisRadio.attr('percent'))/100,
procent_price = Math.ceil(actual_price * percent);
delivery = answerFunc(val,allWeight,'tarif');
selectAddressPVZ = jQuery('.from_russia_block #selectPVZ_russia .address_moscow_select');
if (thisRadio.val() == '2072' || thisRadio.val() == '2073') {
var deliv = parseFloat(delivery.delivery_ways[0]["Стоимость"], 10),
textDel = deliv+' р.';
if (thisRadio.val() == '2073') deliv = Math.ceil(deliv + procent_price);
textDel = deliv + ' р.';
thisRadio.parent().after(formAddress);
formAddress.slideDown('normal');
} else jQuery('#form_address').remove();
if (thisRadio.val() == '2077') {
thisRadio.parent().after(formAddress);
formAddress.slideDown('normal');
}
if (delivery.delivery_ways[1]){
if (thisRadio.val() == '2074' || thisRadio.val() == '2075') {
var deliv = parseFloat(delivery.delivery_ways[1]["Стоимость"], 10);
if (allWeightCeil>10){
deliv = deliv+((allWeightCeil-10)*100);
}
if (actual_price>3000 && allWeightCeil<10) {
deliv = 'Бесплатно';
}
if (thisRadio.val() == '2075') {deliv = (deliv=='Бесплатно') ? procent_price : Math.ceil(deliv + procent_price);}
textDel = (deliv=='Бесплатно') ? deliv : deliv+' р.';
}
address_pickup_delivery.val(delivery.delivery_ways[1]["Адрес"]);
}
if (thisRadio.val() == 'pickup_custom_russia') {jQuery('.from_russia_block .address_moscow_select').show();} else jQuery('.from_russia_block .address_moscow_select').hide();
thisRadio.parent().find('.price-delivery').empty().text(textDel);
jQuery('#price_delivery').val(deliv);
return false;
});
jQuery('.from_russia_block input.deliv-radio').click();jQuery('.from_russia_block input.deliv-radio:first').click();jQuery('#form_address').remove();
} else {jQuery('#cityIndex').text('Извините, город не найден').css({'font-weight':'bold','color' : '#EC411C'});
console.log(true);
//jQuery('#new_del_address').hide('normal');formAddress.hide();
jQuery('#new_del_address').show();
jQuery('#new_del_address>*').not('.deliveryMode__layout__field_2077').hide();
}
}
} else {jQuery('#new_del_address').hide();jQuery('#cityIndex').empty();
}
return false;
});
Нашел на проекте, как понял происходить расчет стоимости доставки по индексу... Весь код не скинуть так как ограничение по количеству строк