переключение случая php с помощью радио кнопок и ajax

Я пытаюсь создать калькулятор, который рассчитывает выплаты по социальному обеспечению в зависимости от дохода и жизненной ситуации / иждивенцев и т. Д. Мой php-файл содержит методы расчета для каждой ситуации как отдельного «случая». Моя переменная дохода была отправлена ​​в php-файл через Ajax из формы HTML, а также проверены переключатели.

У меня проблема в том, что элементы работают индивидуально, а не вместе. Например, нажатие переключателя возвращает текст, указывающий, что регистр был переключен, однако при отправке дохода он всегда возвращается к первому случаю (случай 0) и дает мне некоторые неопределенные переменные ошибки, хотя на самом деле он вычисляется. Я провел немало поисков, но не уверен в своем следующем шаге. Любая помощь приветствуется!

HTML

<!DOCTYPE html>
<html>
<head>

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.0/jquery.min.js"></script>

</head>
<body>

<label>Please select from below which best reflects your situation</label><br />
<br />
<input class="radio" type="radio" name="calculate" value="0">You are single, under 18 and living at home<br />
<input class="radio" type="radio" name="calculate" value="1">You are single, over 18, living at home<br />
<input class="radio" type="radio" name="calculate" value="2">You are single or in a couple, no children and living away from home<br />
<input class="radio" type="radio" name="calculate" value="3">You are in a couple, with children<br />
<input class="radio" type="radio" name="calculate" value="4">You are single, with children<br />
<br />
<label>Enter a your fortnightly income: <input type="text" id="num"></label>
<button type="button">Show result</button>
<div id="result"></div>
</html>



<script>
$(document).ready(function(){
$('input[type="radio"]').click(function(){
var calculate = $(this).val();

$.ajax({
url:"austudy.php",
method:"POST",
data: {calculate:calculate},
success:function(data){
$("#result").html(data);
}

})

})

})
</script>

<script>

$(document).ready(function(){
$("button").click(function(){
// Get value from input element on the page
var numValue = $("#num").val();

// Send the input data to the server using get
$.get("austudy.php", {number: numValue} , function(data){
// Display the returned data in browser
$("#result").html(data);
});
});
});

</script>

PHP

<?php

$income = ($_GET["number"]);
$maxpayment = 445.80;
$scenario = ($_POST["calculate"]);

switch ($scenario) {

case 0:
//single, under 18, living at home, max payment = 445.80

if ($income < 437.00)
{
echo "case 0 selected";
echo "You will receive max payment";
}

elseif ($income >= 864.84)
{
echo "case 0 selected";
echo "Your payment is reduced to Zero";
}

else if ($income > 437.00 && $income < 445.51)
{
$payment = $maxpayment - (($maxpayment - $income) * 0.5);
echo "case 0 selected";
echo "your payment will be ";
echo $payment;
}

else if ($income > 445.50 && $income < 524.00)
{
$payment = $maxpayment - (($income - $maxpayment) * 0.5);
echo "case 0 selected";
echo "your payment will be ";
echo $payment;
}

else if ($income > 524.00 && $income <= 864.83)
{
$payment = $maxpayment - ((($income - $maxpayment) * 0.6) - 43.50);
echo "case 0 selected";
echo "your payment will be ";
echo $payment;
}

break;

case 1:
//single, over 18, living at home, max payment = 445.50
if ($income < 437.00)
{
echo "case 1 selected";
echo "You will receive max payment";
}

elseif ($income >= 864.84 )
{
echo "case 1 selected";
echo "Your payment is reduced to Zero";
}

else if ($income > 437.00&& $income < 445.51)
{
$payment = $maxpayment - (($maxpayment - $income) * 0.5);

echo "case 1 selected";
echo "your payment will be ";
echo $payment;
}

else if ($income > 445.50 && $income < 524.00)
{
$payment = $maxpayment - (($income - $maxpayment) * 0.5);
echo "case 1 selected";
echo "your payment will be ";
echo $payment;
}

else if ($income > 524.00 && $income <= 948.49)
{
$payment = $maxpayment - ((($income - $maxpayment) * 0.6) - 43.50);
echo "case 1 selected";
echo "your payment will be ";
echo $payment;
}

break;

case 2:
//single or in a couple, no children, living away from home, max payment = 445.50

if ($income < 437.00)
{
echo "case 2 selected";
echo "You will receive max payment";
}

elseif ($income >= 1206.17)
{
echo "case 2 selected";
echo "Your payment is reduced to Zero";
}

else if ($income > 437.00 && $income < 445.51)
{
$payment = $maxpayment - (($maxpayment - $income) * 0.5);
echo "case 2 selected";
echo "your payment will be ";
echo $payment;
}

else if ($income > 445.50 && $income < 524.00)
{
$payment = $maxpayment - (($income - $maxpayment) * 0.5);
echo "case 2 selected";
echo "your payment will be ";
echo $payment;
}

else if ($income > 524.00 && $income <= 1206.16)
{
$payment = $maxpayment - ((($income - $maxpayment) * 0.6) - 43.50);
echo "case 2 selected";
echo "your payment will be ";
echo $payment;
}

break;

case 3:
//in a couple, with children, max payment 489.60

if ($income < 437.00)
{
echo "case 3 selected";
echo "You will receive max payment";
}

elseif ($income >= 1280.34)
{
echo "case 3 selected";
echo "Your payment is reduced to Zero";
}

else if ($income > 437.00 && $income < 445.51)
{
$payment = $maxpayment - (($maxpayment - $income) * 0.5);
echo "case 3 selected";
echo "your payment will be ";
echo $payment;
}

else if ($income > 445.50 && $income < 524.00)
{
$payment = $maxpayment - (($income - $maxpayment) * 0.5);
echo "case 3 selected";
echo "your payment will be ";
echo $payment;
}

else if ($income > 524.00 && $income <= 1280.33)
{
$payment = $maxpayment - ((($income - $maxpayment) * 0.6) - 43.50);
echo "case 3 selected";
echo "your payment will be ";
echo $payment;
}

break;

case 4:
//single, with children, max payment 584.20

if ($income < 437.00)
{
echo "case 4 selected";
echo "You will receive max payment";
}

elseif ($income >= 1440.50)
{
echo "case 4 selected";
echo "Your payment is reduced to Zero";
}

else if ($income > 437.00 && $income < 445.51)
{
$payment = $maxpayment - (($maxpayment - $income) * 0.5);
echo "case 4 selected";
echo "your payment will be ";
echo $payment;
}

else if ($income > 445.50 && $income < 524.00)
{
$payment = $maxpayment - (($income - $maxpayment) * 0.5);
echo "case 4 selected";
echo "your payment will be ";
echo $payment;
}

else if ($income > 524.00 && $income <= 1440.49)
{
$payment = $maxpayment - ((($income - $maxpayment) * 0.6) - 43.50);
echo "case 4 selected";
echo "your payment will be ";
echo $payment;
}

break;

}

?>

0

Решение

Вам необходимо отправить оба значения одновременно. Когда вы отправляете доход, ваша переменная $ сценария не устанавливается, так как параметр «вычисления» не отправляется. Таким образом, сценарий $, вероятно, заканчивается нулевым значением. В PHP false и null могут принимать значение 0.

0

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector