Доработка кода формы выбора города на js
Есть модуль на JS он занимается тем, что подсказывает города в форме. Юзер вводит Мос , а скрипт подсказывает "Москва". Но, если юзер вводи "г.Мос" , то "Москва" уже не подкидывает. Как исправить скрипт, что бы если в инпут введено "г.", то он не брал это во внимание и работал только c тем, что после "." Спасибо
$(document).on('keyup', 'input[name="city"]', function() {
var imput_city = $(this);
$.ajax({
url: 'index.php?route=extension/module/getcity',
type: 'post',
data: 'q=' + imput_city.val(),
success: function(data) {
$('.results_cities_container').remove();
imput_city.after(data)
}
});
});
$(document).on('click', 'input[name="city"]', function() {
var imput_city = $(this);
$.ajax({
url: 'index.php?route=extension/module/getcity',
type: 'post',
data: 'q=' + imput_city.val(),
success: function(data) {
$('.results_cities_container').remove();
imput_city.after(data)
}
});
});
$(document).on('mouseup', '.results_cities_container>.result_list>ul>li', function() {
$(this).parent().parent().parent().parent().find('input[name="city"]').val($(this).attr('title'));
$(this).parent().parent().parent().parent().find('input[name="city"]').change();
$('select[name="zone_id"]').val($(this).attr('zone_id'));
$('select[name="zone_id"]').change();
uniCheckoutUpdate();
});
jQuery(function($){
$(document).mouseup(function (e){
var input = $('input[name="city"]');
var container = input.parent().find('.results_cities_container>.result_list');
var li = container.find('li');
if ((!container.is(e.target) && container.has(e.target).length === 0) && (!input.is(e.target) && input.has(e.target).length === 0)) {
container.hide();
//uniCheckoutUpdate();
} else {
if (!li.is(e.target) && li.has(e.target).length === 0) {
$('.results_cities_container>.result_list').hide();
container.show();
} else {
$('.results_cities_container>.result_list').hide();
}
}
});
});
Источник: Stack Overflow на русском