выводить текст в блок если в input написано определённое слово

мне нужно выводить разные условия доставки для поля города, на пример если я ввел в input Москва , то ниже в блоке должен появляться текст доставки для Москвы, если ввели Питер то другой текст для Питера

$('#city').on('keyup',function(){
  var $this = $(this),
      val = $this.val();
  
  if(val = Москва){
    $('.text').text(Доставка по Москве);
  }else {
    $('.text').text(Доставка по Питеру);
  }
});
<input type="text" class="form-control" name="city" id="city" value="" autocomplete="off">
<div class="text">
</div>


Ответы (1 шт):

Автор решения: Igor

const cityMap = {
  "Москва": "Москве",
  "Питер": "Питеру",
  "Кривой Рог": "Кривому Рогу",
  "Электросталь": "Электростали",
  "Железнодорожный": "Железнодорожному"
};

$('#city').on('keyup', function() {
  let $this = $(this),
    val = $this.val();

  let po = cityMap[val];
  $('.text').text(po? "Доставка по " + po : "Unknown city");
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<input type="text" class="form-control" name="city" id="city" value="" autocomplete="off">
<div class="text">
</div>

→ Ссылка