jQuery: memeriksa apakah nilai bidang adalah null (kosong)


Jawaban:


170

Nilai bidang tidak boleh nol, selalu berupa nilai string.

Kode akan memeriksa apakah nilai string adalah string "NULL". Anda ingin memeriksa apakah itu string kosong:

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

atau:

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

Jika Anda ingin memeriksa apakah elemen tersebut ada, Anda harus melakukannya sebelum memanggil val:

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

31
The value of a field can not be null, it's always a string value.ini tidak sepenuhnya benar. Aku punya selectno berisi options. Ketika saya melakukan .val()ini, ia kembali null. Jquery 1.7.2
Liam

@Pispirulito: Saya rasa tidak, dan menurut saya itu tidak akan diubah. A selecttanpa optionelemen apapun bukanlah sesuatu yang biasa Anda miliki. Ini sangat tidak berguna.
Guffa

@Guffa mohon untuk berbeda, sebuah kosong <select>dapat berisi opsi yang memungkinkan untuk pengguna Anda yang <option>akan datang dari semacam validasi.
Malcolm Salvador

Jika Anda menggunakan solusi berikut untuk menyediakan tempat penampung di Anda select, itu akan dimulai dengan nullnilai karena opsi 'nonaktif' dipilih. stackoverflow.com/questions/5805059/…
Sygmoral

37

Saya juga akan memangkas bidang masukan, karena spasi dapat membuatnya terlihat seperti terisi

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

}

14

Asumsi

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

Anda memiliki kasus ini:

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)

Jadi, gunakan apa yang Anda butuhkan.


11

itu tergantung pada jenis informasi yang Anda berikan ke bersyarat ..

terkadang hasil Anda akan nullatau undefinedatau ''atau 0, untuk validasi sederhana saya, saya menggunakan ini jika.

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

CATATAN : null! ='null'


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

Memanfaatkan pembantu ini untuk mencapai itu.


ini hampir tampak seperti isStringNullOrEmptyitu isStringFalseydan dengan demikian return !val;akan berhasil
Mark Schultheiss

0

jquery menyediakan val()fungsi dan not value(). Anda dapat memeriksa string kosong menggunakan jquery

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

0

Mencoba

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

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.