web-dev-qa-db-ja.com

jQuery:フィールドの値がnull(空)かどうかを確認

これは、フィールドの値がnullであるかどうかを確認する良い方法ですか?

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

または、より良い方法がありますか?

87
ziiweb

フィールドの値はnullにできません。常に文字列値です。

コードは、文字列値が文字列「NULL」であるかどうかを確認します。代わりに空の文字列であるかどうかを確認したい:

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

または:

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

要素が存在するかどうかを確認する場合は、valを呼び出す前に確認する必要があります。

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

また、入力フィールドをトリムします。スペースがいっぱいになったように見える可能性があります

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

}
36
Flipke

想定

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

次の場合があります。

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)

したがって、必要なものを使用してください。

12
darioo

条件に渡す情報の種類によって異なります。

時々あなたの結果はnullまたはundefinedまたは''または0になります。私の簡単な検証のために私はこれを使用します。

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

NOTEnull!= '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;
        }
    },

このヘルパーを利用してそれを達成します。

6
Nilesh Moradiya

試して

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

jqueryはval()関数とnot value()を提供します。 jqueryを使用して空の文字列を確認できます

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