Почему мой троичный, если оператор оценивается как NULL? - PullRequest
0 голосов
/ 05 мая 2018

Я пытаюсь изменить текст добавленной кнопки на основе значения, возвращенного из базы данных с помощью функции Ajax.

 .append($('<td>').attr('id', "tdBookingStatus" + i).html(val.HasCustomerArrived === true ? "Checked in" : (val.HasCustomerArrived == null) ? " ": "Cancelled"))

Но это не работает для NULL, хотя функция возвращает NULL, но это не работает, я пробовал == и === и !, но ничего не работает.

1 Ответ

0 голосов
/ 05 мая 2018

Вам также необходимо проверить значение === '', если вы рассматриваете это значение. Использование null для этого не сработает.

//for blank value
var test = '';
var res = test === true ? "Checked in" : (test === null || test === '') ? " ": "Cancelled"

console.log(res);

//for null value
var test = null;
var res = test === true ? "Checked in" : (test === null || test === '') ? " ": "Cancelled"

console.log(res);

//for true value
var test = true;
var res = test === true ? "Checked in" : (test === null || test === '') ? " ": "Cancelled"
console.log(res);

//for false value
var test = false;
var res = test === true ? "Checked in" : (test === null || test === '') ? " ": "Cancelled"
console.log(res);
...