Есть скрипт который аяксом считает доставку почтой РФ
$(document).ready(function(){
$(".calculate_delivery_rp").click(function(e){
e.preventDefault();
var s_data=$(this).closest('form').serialize();
$.ajax({
type: 'POST',
url: 'ajax/calculate_delivery_rp.php',
data: s_data,
success: function(result){
if(result.found) {
$('.rp_cost').html(result.success);
$('.rp_cost').attr('data-cost', result.success);
}
else{
$('.rp_cost').html('<span style="color:red">'+result.error+'</span>');
}
}
});
});
});
В данном виде при нажатии на кнопку все считает корректно и приходит результат.
Нужно было немного модифицировать сам код , добавился чекбокс, который имеет аттрибут 0(выкл) и 1(вкл) с помощью этого аттрибута я прибавляю доп стоимость.
Но при выделении чекбокса, также как и при нажатии на кнопку должен срабатывать скрипт, для этого вынес все в отдельную функцию, теперь функция ajax возвращает постоянно результат result.error
function showRaschet() {
var pochta = $('#checkout-pochta').attr('data-pochta');
var s_data=$(this).closest('form').serialize();
$.ajax({
type: 'POST',
url: 'ajax/calculate_delivery_rp.php',
data: s_data,
success: function(result){
if(result.found) {
if (pochta == 1) {
$('.rp_cost').html(parseInt(result.success)+100);
$('.rp_cost').attr('data-cost', parseInt(result.success)+parseInt(100));
}else{
$('.rp_cost').html(result.success);
$('.rp_cost').attr('data-cost', result.success);
}
/**/
var id = $('#deliveries .first-label input.first').val();
var price = $('#deliveries .payment-methods__item--active').find('.delivery-price').html();
var separate = $('#deliveries .payment-methods__item--active').attr('data-separate');
if (separate == 1) {
$('#cart_delivery_cost').html(price + '<br>(оплачивается отдельно)');
}else{
$('#cart_delivery_cost').html(price);
}
var delivery_price_convert = $('#deliveries .payment-methods__item--active').find('.delivery-price').attr('data-cost');
var products_price_convert = $('#cart_products_cost').attr('data-cost');
var cart_total_price = parseInt(delivery_price_convert) + parseInt(products_price_convert);
$('#cart_total_cost').html(cart_total_price);
/**/
}
else{
$('.rp_cost').html('<span style="color:red">'+result.error+'</span>');
}
}
});
};
$('#checkout-pochta').click(function () {
if ($(this).is(':checked')) {
$('#checkout-pochta').attr('data-pochta', 1);
showRaschet();
} else {
$('#checkout-pochta').attr('data-pochta', 0);
showRaschet();
}
});
$(".calculate_delivery_rp").click(function(){
showRaschet();
});
Где что поломал?