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


101

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

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

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


1
#person_dataとはどのような要素ですか?そして、あなたはNULL値として何を考えますか?

回答:


170

フィールドの値を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 ) {...}
}

31
The value of a field can not be null, it's always a string value.これは完全に真実ではありません。私はselect何も含んでいませんoptions。これを実行.val()すると戻りますnull。Jquery 1.7.2
リアム

@Pispirulito:私はそうは思いません、そしてそれが変更されるとは思いません。selectどのなしのoption要素は、あなたが通常持っているものではありません。それはかなり役に立たない。
Guffa 2014年

@Guffaは異なります。空に<select>は、<option>ある種の検証から得られるユーザーの可能なオプションを含めることができます。
Malcolm Salvador

次のソリューションを使用してにプレースホルダーを提供selectするnull場合、「無効」オプションが選択されているため、値から始まります。stackoverflow.com/questions/5805059/...
Sygmoral

37

入力フィールドもトリミングします。スペースを入れると、塗りつぶされたように見えます。

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

}

14

想定

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)

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


11

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

結果がnullorまたはundefinedor ''またはになる場合があります0。私の簡単な検証では、これを使用します。

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

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

それを達成するためにこのヘルパーを利用してください。


これはほとんどのようでisStringNullOrEmptyありisStringFalsey、したがって機能return !val;するでしょう
Mark Schultheiss

0

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

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

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.