6 ответов:
значение поля не может быть 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(). Вы можете проверить пустую строку с помощью jQueryif($('#person_data[document_type]').val() != ''){}
Comments