it-swarm.com.de

jQuery: Überprüfen, ob der Wert eines Felds null ist (leer)

Ist dies ein guter Weg, um zu überprüfen, ob der Wert eines Felds null ist?

if($('#person_data[document_type]').value() != 'NULL'){}

Oder gibt es einen besseren Weg?

84
ziiweb

Der Wert eines Feldes darf nicht null sein, es ist immer ein Zeichenfolgewert.

Der Code prüft, ob der Wert der Zeichenfolge 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 prüfen möchten, ob das Element überhaupt vorhanden ist, sollten Sie dies tun, bevor Sie val aufrufen:

var $d = $('#person_data[document_type]');
if ($d.length != 0) {
  if ($d.val().length != 0 ) {...}
}
142
Guffa

Ich würde auch das Eingabefeld abschneiden, da ein Leerzeichen dazu führen könnte, dass es ausgefüllt erscheint

if ($.trim($('#person_data[document_type]').val()) != '')
{

}
36
Flipke

Angenommen,

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)

Also benutze was du brauchst.

11
darioo

das hängt davon ab, welche Art von Informationen Sie an die Bedingung übergeben.

manchmal ist Ihr Ergebnis null oder undefined oder '' oder 0. Für meine einfache Überprüfung verwende ich dies, wenn.

( $('#id').val() == '0' || $('#id').val() == '' || $('#id').val() == 'undefined' || $('#id').val() == null )

NOTE: null! = 'null'

10
_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 das zu erreichen.

5
Nilesh Moradiya

Versuchen

if( this["person_data[document_type]"].value != '') { 
  console.log('not empty');
}
<input id="person_data[document_type]" value="test" />
0

jquery bietet val() function und not value(). Sie können die leere Zeichenfolge mit Jquery überprüfen

if($('#person_data[document_type]').val() != ''){}
0
Chinmayee G