Jquery еще, если заявления не работают должным образом - PullRequest
0 голосов
/ 06 октября 2019

Я сталкиваюсь с проблемой при использовании оператора else if в jquery, функция запускается при изменении входного текста в таблице. В таблице есть два диапазона значений Normal и Critical, в зависимости от значений, которые должны изменить цвета фона входного текста. Условия не работают на одном экземпляре.

    $("#myTable input").change(function () {
        var currentRow = $(this).closest("tr");
        var col4 = currentRow.find("td:eq(3)").html();
        var col5 = currentRow.find("td:eq(4)").html();

        var n_range = col4.split("-");
        var c_range = col5.split("-");

        inp = $(this).val();
        // alert(inp);

        if (inp > n_range[0] && inp < n_range[1]) {
            //if inp falls in the normal range color white
            $(this).css("background-color", "#FFF");
            $(this).css("color", "#37474F");
        } else if (inp > c_range[0] && inp < c_range[1]) {
            //if inp falls in the criticl range color red
            $(this).css("background-color", "#FF1744");
            $(this).css("color", "#FFF");
        } else if (inp < n_range[0]) {
            //if inp is higher than noraml range color  lightred
            $(this).css("background-color", "#FFF176");
            $(this).css("color", "#263238");
        } else if (inp < c_range[0]) {
            //not working
            $(this).css("background-color", "#E53935");
            $(this).css("color", "#FF5252");
            alert(n_range[1]);
        } else {
            $(this).css("background-color", "#2196F3");
            $(this).css("color", "#FFF");
        }
    });

снимок экрана

Если входное текстовое значение находится в пределах нормального диапазона, цвет фона станет белым(#FFF).

Если введенное текстовое значение меньше нормальных значений, цвет фона станет желтым.

Если значения попадают между критическим диапазоном, цвет станет красным.

Все это работает нормально, но когда значение входного текста превышает обычные значения, цвет фона должен стать светло-красным, но при изменении значения цвет фона меняется на желтый. Для дальнейшего ознакомления проверьте эту скрипку http://jsfiddle.net/Ayan404/xyb764n9/3/

1 Ответ

0 голосов
/ 06 октября 2019

Заменить:

inp = $(this).val();

на:

var inp = $(this).val();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...