2010-11-22 69 views

Respuesta

123

El valor de un campo no puede ser nulo, siempre es un valor de cadena.

El código verificará si el valor de la cadena es la cadena "NULL". ¿Quieres comprobar si se trata de una cadena vacía en su lugar:

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

o:

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

Si desea comprobar si el elemento existe en absoluto, debe hacerlo antes de llamar val:

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

'El valor de un campo no puede ser nulo, siempre es un valor de cadena. Esto no es del todo cierto. Tengo un 'seleccionar' que no contiene' opciones'. Cuando realizo '.val()' en este, devuelve 'null'. Jquery 1.7.2 – Liam

+1

@Liam: Sí, tienes razón, esa parece ser la excepción. – Guffa

+1

¿Se ha resuelto esta excepción en las versiones más recientes? –

0

jquery proporciona la función val() y not value(). Puede comprobar cadena vacía usando jQuery

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

También me recortar el campo de entrada, causar un espacio podría hacer que parezca lleno

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

} 
+0

perfecto, es trabajo para mí :) –

11

Suponiendo

var val = $('#person_data[document_type]').value(); 

tiene estos casos :

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) 

Entonces, usa lo que necesitas.

9

que depende de qué tipo de información que está pasando a la condición ..

veces su resultado será null o undefined o '' o 0, para mi sencilla validación utilizo este caso.

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

NOTA: null = 'null'

3
_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; 
     } 
    }, 

utilizar esta ayudantes para lograrlo.

Cuestiones relacionadas