Це хороший спосіб перевірити, чи є значення поля null?
if($('#person_data[document_type]').value() != 'NULL'){}
Або є кращий спосіб?
Це хороший спосіб перевірити, чи є значення поля 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 ) {...}
}
The value of a field can not be null, it's always a string value.це не зовсім вірно. У мене є selectвміст, що не містить options. Коли я виконую .val()на цьому, вона повертається null. Jquery 1.7.2
selectбез будь-яких optionелементів - це не те, що у вас зазвичай. Це досить марно.
<select>може містити можливі параметри для вашого користувача, чий результат <option>буде отриманий з певної перевірки.
select, воно почне починатися зі nullзначення, оскільки вибрано параметр "вимкнено". stackoverflow.com/questions/5805059 / ...
Припускаючи
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;
}
},
Використовуйте цих помічників для досягнення цього.
isStringNullOrEmptyє, isStringFalseyі таким чином return !val;спрацювало б
jquery забезпечує val()функцію та not value(). Ви можете перевірити порожній рядок за допомогою jquery
if($('#person_data[document_type]').val() != ''){}
Спробуйте
if( this["person_data[document_type]"].value != '') {
console.log('not empty');
}
<input id="person_data[document_type]" value="test" />