Ist dies eine gute Möglichkeit, um zu überprüfen, ob der Wert eines Feldes ist null
?
if($('#person_data[document_type]').value() != 'NULL'){}
Oder gibt es einen besseren Weg?
Ist dies eine gute Möglichkeit, um zu überprüfen, ob der Wert eines Feldes ist null
?
if($('#person_data[document_type]').value() != 'NULL'){}
Oder gibt es einen besseren Weg?
Antworten:
Der Wert eines Feldes darf nicht null sein, es ist immer ein Zeichenfolgenwert.
Der Code prüft, ob der Zeichenfolgenwert die Zeichenfolge "NULL" ist. Sie möchten stattdessen überprüfen, ob es sich um eine leere Zeichenfolge handelt:
if ($('#person_data[document_type]').val() != ''){}
oder:
if ($('#person_data[document_type]').val().length != 0){}
Wenn Sie überprüfen möchten, ob das Element überhaupt vorhanden ist, sollten Sie dies vor dem Aufruf tun 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.
das ist nicht ganz richtig. Ich habe eine select
enthaltende Nr options
. Wenn ich das mache .val()
, kehrt es zurück null
. Jquery 1.7.2
select
ohne option
Elemente ist etwas, das Sie normalerweise nicht haben. Es ist ziemlich nutzlos.
<select>
kann mögliche Optionen für Ihren Benutzer enthalten, deren <option>
s aus einer Art Validierung stammen.
select
, beginnt dieser mit einem null
Wert, da die Option "Deaktiviert" ausgewählt ist. stackoverflow.com/questions/5805059/…
Vorausgesetzt
var val = $('#person_data[document_type]').value();
Sie haben diese Fälle:
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)
Verwenden Sie also, was Sie brauchen.
Das hängt davon ab, welche Art von Informationen Sie an die Bedingung weitergeben.
Manchmal ist Ihr Ergebnis null
oder undefined
oder ''
oder 0
, für meine einfache Validierung verwende ich dies, wenn.
( $('#id').val() == '0' || $('#id').val() == '' || $('#id').val() == 'undefined' || $('#id').val() == null )
HINWEIS : 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;
}
},
Nutzen Sie diese Helfer, um dies zu erreichen.
isStringNullOrEmpty
heißt isStringFalsey
und so return !val;
funktionieren würde
jquery bietet val()
Funktion und not value()
. Sie können leere Zeichenfolgen mit jquery überprüfen
if($('#person_data[document_type]').val() != ''){}
Versuchen
if( this["person_data[document_type]"].value != '') {
console.log('not empty');
}
<input id="person_data[document_type]" value="test" />