Jquery: преобразование строки в логическое значение


Я объединяю следующие значения из некоторых скрытых полей.

var hfEntityBool = $(this).find('input[id*="hfEntityBool"]').val();
if (hfEntityBool) {
    alert(hfEntityBool);
}

Независимо от значения скрытого поля, предупреждение все равно отображается. Есть на то причины?

Я пытался использовать метод Boolean(hfEntityBool), Если скрытое поле по-прежнему является строкой, но ничего не изменилось.

Спасибо за помощь

2 2

2 ответа:

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

Я бы сделал что-то вроде этого:

var hfEntityBool = $(this).find('input[id*="hfEntityBool"]').val() == "true";
if (hfEntityBool) {
    alert(hfEntityBool);
}

Вы пробовали :

if(hfEntityBool.length){...} // (or hfEntityBool.length > 0)

Что показывает консоль для этого:

console.log('nb char of hfEntityBool : '+hfEntityBool.length);//before if