Здравствуйте.
Подскажите, пожалуйста в чем может быть проблема. Использую yii2. В форме в виджете AutoComplete использую следующий код
'source' => new JsExpression('
function (request, response) {
if ((/^([a-zA-Z\w -]*|[а-яА-ЯёЁ\w -]*)+$/.test(request.term))) {
$.ajax({
url: "http://api.myproject.com/v1/egr?VNM="+request.term,
dataType: "json",
success: function (data) {
response($.map(data.slice(0, 10), function (rt) {
return {label: rt.i, value: rt.VNM};
}));
},
error: function () {
response([]);
}
});
}
else if ((/^([0-9]*)+$/.test(request.term))) {
$.ajax({
url: "http://api.myproject.com/v1/egr?NM="+request.term,
dataType: "json",
success: function (data) {
response($.map(data.slice(0, 10), function (rt) {
return {label: rt.i, value: rt.VNM};
}));
},
error: function () {
response([]);
}
});
}
}
'),
При вводе от четырех символов по апи запрашиваются и принимаются данные. Для того чтобы была возможность вводить как буквенные символы и искать на основе выборки по тексту, одновременно есть возможность искать только по УНН, т.е. вводятся только цифры. Исходя из этого сделано условие на проверку: если буквы -> запрашиваем данные по одному урлу, если цифры -> по другому. Но это условие не срабатывает - ищет только по буквам всегда. Может кто в jquery лучше поймет где ошибка чем я.