Показать сообщение отдельно
  #1 (permalink)  
Старый 22.11.2018, 19:25
Аспирант
Отправить личное сообщение для SolomonRei Посмотреть профиль Найти все сообщения от SolomonRei
 
Регистрация: 05.04.2018
Сообщений: 77

Checked атрибут
Добрый день.Делаю чекбокс,если он нажат,то сумма считается с процентами,если же нет,то без него.
Вот мой код
var discount;

    $('#presents').on('click', function() {
    	alert(23);
    	var information = Number($('#calc-f-sum').val());
    	if($('#presents').prop('checked')) {
    		 $('#presents').prop('checked', false);
    		if(information != ' ') {
				discount = information
    		}
    	}else {
    		 $('#presents').prop("checked", true);
    		if(information != ' ') {
    			var discount_difference = Number((information * 2)/ 100);
				discount = Math.round(Number(information + discount_difference));
    		}
    	}
    });


    $('#calc-f-sum').change(function()
    {	
	    // $('#presents').on('click', function() {
	    // 	if($('#presents').prop('checked')) {
	    // 		$('#presents').prop('checked', false);
		   //  }else {
		   //  	$('#presents').prop('checked', true);
		   //  }
	    // });

    	discount = Number($('#calc-f-sum').val());
    	if($('#calc-f-sum').val()<=500000)
    	{
    		$('#calc-f-tar').removeAttr("disabled");
			if($('#presents').prop('checked')) {
				alert(1);
				var discount_difference = Number((discount * 2)/ 100);
				discount = Math.round(Number(discount + discount_difference));
			}else discount = $('#calc-f-sum').val();

    	}
    	else if($('#calc-f-sum').val()>500000)
    	{

    		if($('#presents').prop('checked')) {
    			var discount_difference = Number((discount * 2)/ 100);
				discount = Math.round(Number(discount + discount_difference));
			}else discount = $('#calc-f-sum').val();

    		$('#calc-f-tar').attr("disabled","disabled");
    		$("#calc-f-tar").removeAttr("checked");

    	}

    });

	$('input').change(function(e){
		e.preventDefault();
		$('#calc-result').html('');
		$.ajax({
			type: 'POST',
			url: "/post/calc",
			data: {
				sum: discount,
				type: $(":radio[name=type]").filter(":checked").val(),
				srok: $(":radio[name=srok]").filter(":checked").val(),
				tar: $('#calc-f-tar').is(':checked'),
				c1: $('#calc-f-s1').is(':checked'),
				c2: $('#calc-f-s2').is(':checked')
			},
			success: function(data) {
				$('#calc-result').html(data);
			},
			error: function(data) {

			},
			dataType: "html"
		});
	});

нужно чтобы чекбокс фиксировал как и до ввода суммы свое значение,так и когда сумма уже введена,чтобы сразу же пересчитывал,но у меня почему-то ошибка.Чекбокс не хочет переключаться,то есть вот изначально галочка стоит,и все,и я не могу никак ее убрать.

<label><input type="checkbox" id="presents" value="1" name="presents" checked="true" />2%</label></div>
Ответить с цитированием