Это хороший способ проверить, является ли значение поля нулевым?
if($('#person_data[document_type]').value() != 'NULL'){}
Или есть лучший способ?
Это хороший способ проверить, является ли значение поля нулевым?
if($('#person_data[document_type]').value() != 'NULL'){}
Или есть лучший способ?
Значение поля не может быть нулевым, оно всегда является строковым значением.
Код проверяет, является ли строковое значение строкой "NULL". Вы хотите проверить, не является ли это пустой строкой:
if ($('#person_data[document_type]').val() != ''){}
или
if ($('#person_data[document_type]').val().length != 0){}
Если вы хотите проверить, существует ли элемент вообще, вы должны сделать это до вызова val
:
var $d = $('#person_data[document_type]');
if ($d.length != 0) {
if ($d.val().length != 0 ) {...}
}
Я бы также обрезал поле ввода, потому что пространство могло бы выглядеть как заполненное
if ($.trim($('#person_data[document_type]').val()) != '')
{
}
Полагая
var val = $('#person_data[document_type]').value();
у вас есть такие случаи:
val === 'NULL'; // actual value is a string with content "NULL"
val === ''; // actual value is an empty string
val === null; // actual value is null (absence of any value)
Итак, используйте то, что вам нужно.
что зависит от того, какую информацию вы передаете условному..
иногда ваш результат будет null
или undefined
или ''
или 0
, для моей простой проверки я использую это, если.
( $('#id').val() == '0' || $('#id').val() == '' || $('#id').val() == 'undefined' || $('#id').val() == null )
ПРИМЕЧАНИЕ: null
!= 'null'
_helpers: {
//Check is string null or empty
isStringNullOrEmpty: function (val) {
switch (val) {
case "":
case 0:
case "0":
case null:
case false:
case undefined:
case typeof this === 'undefined':
return true;
default: return false;
}
},
//Check is string null or whitespace
isStringNullOrWhiteSpace: function (val) {
return this.isStringNullOrEmpty(val) || val.replace(/\s/g, "") === '';
},
//If string is null or empty then return Null or else original value
nullIfStringNullOrEmpty: function (val) {
if (this.isStringNullOrEmpty(val)) {
return null;
}
return val;
}
},
Используйте эти помощники для достижения этого.
jquery предоставляет функцию val()
и not value()
. Вы можете проверить пустую строку с помощью jquery
if($('#person_data[document_type]').val() != ''){}