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 selectzawierający nie options. Kiedy .val()na tym występuję, to wraca null. Jquery 1.7.2
selectbez żadnych optionelementó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 nullwartoś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 nulllub undefinedlub ''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ąć.
isStringNullOrEmptyjest isStringFalseyi 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" />