Czy to dobry sposób na sprawdzenie, czy wartość pola to null
?
if($('#person_data[document_type]').value() != 'NULL'){}
Czy jest jakiś lepszy sposób?
Czy to dobry sposób na sprawdzenie, czy wartość pola to null
?
if($('#person_data[document_type]').value() != 'NULL'){}
Czy jest jakiś lepszy sposób?
Odpowiedzi:
Wartość pola nie może być pusta, zawsze jest to ciąg znaków.
Kod sprawdzi, czy wartość ciągu to „NULL”. Chcesz sprawdzić, czy jest to pusty ciąg:
if ($('#person_data[document_type]').val() != ''){}
lub:
if ($('#person_data[document_type]').val().length != 0){}
Jeśli chcesz sprawdzić, czy element w ogóle istnieje, powinieneś to zrobić przed wywołaniem 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.
to nie jest do końca prawdą. Mam select
zawierający nie options
. Kiedy .val()
na tym występuję, to wraca null
. Jquery 1.7.2
select
bez żadnych option
elementów nie jest czymś, co zwykle masz. To całkiem bezużyteczne.
<select>
może zawierać możliwe opcje dla twojego użytkownika, których wartości <option>
będą pochodzić z jakiegoś rodzaju walidacji.
select
, zacznie się on od null
wartości, ponieważ wybrana jest opcja „wyłączona”. stackoverflow.com/questions/5805059/…
Zarozumiały
var val = $('#person_data[document_type]').value();
masz te przypadki:
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)
Więc używaj tego, czego potrzebujesz.
to zależy od tego, jakie informacje przekazujesz warunkowi.
czasami wynikiem będzie null
lub undefined
lub ''
lub 0
, do mojej prostej weryfikacji używam tego if.
( $('#id').val() == '0' || $('#id').val() == '' || $('#id').val() == 'undefined' || $('#id').val() == null )
UWAGA : 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;
}
},
Skorzystaj z tych pomocników, aby to osiągnąć.
isStringNullOrEmpty
jest isStringFalsey
i dlatego return !val;
zadziała
jquery zapewnia val()
funkcje i not value()
. Możesz sprawdzić pusty ciąg za pomocą jquery
if($('#person_data[document_type]').val() != ''){}
Próbować
if( this["person_data[document_type]"].value != '') {
console.log('not empty');
}
<input id="person_data[document_type]" value="test" />