jQuery: किसी फ़ील्ड का मान रिक्त (रिक्त) है या नहीं


101

क्या यह जांचने का एक अच्छा तरीका है कि nullक्या किसी क्षेत्र का मूल्य है ?

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

या कोई बेहतर तरीका है?


1
#person_data किस तरह का तत्व है? और क्या आप एक पूर्ण मान के रूप में मानते हैं?

जवाबों:


170

किसी फ़ील्ड का मान शून्य नहीं हो सकता, यह हमेशा एक स्ट्रिंग मान होता है।

यदि स्ट्रिंग मान "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। जेकरी 1.7.2
लियाम

@Pispirulito: मुझे ऐसा नहीं लगता, और मुझे नहीं लगता कि इसे बदला जाएगा। एक selectबिना किसी optionतत्व कुछ आप सामान्य रूप से है कि नहीं है। यह बहुत बेकार है।
गुफा

@ गफा अलग होने की भीख माँगती है, एक खाली <select>में आपके उपयोगकर्ता के लिए संभावित विकल्प हो सकते हैं , जो <option>किसी प्रकार के सत्यापन से आएंगे।
मैल्कम साल्वाडोर

यदि आप अपने में प्लेसहोल्डर प्रदान करने के लिए निम्नलिखित समाधान का उपयोग करते हैं select, तो यह एक nullमूल्य के साथ शुरू होगा क्योंकि एक 'अक्षम' विकल्प चुना गया है। stackoverflow.com/questions/5805059/…
सिग्मोरल

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

यह इस बात पर निर्भर करता है कि आप किस तरह की सूचना सशर्त दे रहे हैं ..

कभी कभी अपने परिणाम होगा nullया undefinedया ''या 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;काम करेगा
मार्क स्कुलथिस

0

jquery val()फ़ंक्शन प्रदान करता है और not value()। आप jquery का उपयोग करके रिक्त स्ट्रिंग की जांच कर सकते हैं

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

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.