Добавьте «размытие». работает во всех браузерах!
$("input").on('blur keyup change click', function () {
Если вам нужны только приблизительные цифры и вам все равно, будут ли они 20 или 23 км, вы можете использовать почтовые индексы.
Если вы хотите, вы можете «подстроить» каждый почтовый индекс по улице, а при необходимости - по номеру дома.
$UserPostCode = 12345;
$UserStreet = "3-street";
$Postcodes = [
"11111" => [
"A-street" => 12,
"B-street" => 10,
"C-street" => 15,
"Default" => 11
],
"12345" => [
"1-street" => 5,
"2-street" => 6,
"3-street" => 7,
"Default" => 5
]
];
if(isset($PostCodes[$UserPostCode])){
// post code is within your range
if(isset($PostCodes[$UserPostCode][$UserStreet])){
// you have a price set for this street
echo $PostCodes[$UserPostCode][$UserStreet]; //7
}else{
// This is a new street in the postcode unknown to you, give default price
echo $PostCodes[$UserPostCode]["Default"];
}
}else{
// customer lives out of range
echo "Sorry can't deliver to you";
}
Как я уже писал выше, вы можете точно настроить улицы под дома с номерами 1-50 и 50 и выше, если вам нравится та же логика, что и выше.