Задать вопрос
@andrej3337

Почему не срабатывает условие if?

Здравствуйте.
Подскажите, пожалуйста в чем может быть проблема. Использую 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 лучше поймет где ошибка чем я.
  • Вопрос задан
  • 68 просмотров
Подписаться 1 Простой Комментировать
Пригласить эксперта
Ответы на вопрос 1
vitaly_74
@vitaly_74
если буквы -> запрашиваем данные по одному урлу, если цифры -> по другому. Но это условие не срабатывает - ищет только по буквам всегда.
исходя из вашего вопроса: у вас выполняется условие. т.е. поиск по буквам - ищет буквы.
если вы пишите цифры - и не срабатывает, то тут только одно - не правильно составлен паттерн.
или не правильно вызывается функция написанная, в паттерне.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы