सवाल jQuery: जांच कर रहा है कि किसी फ़ील्ड का मान शून्य है (खाली)


क्या यह जांचने का एक अच्छा तरीका है कि फ़ील्ड का मान शून्य है या नहीं?

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

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


81
2017-11-22 10:43


मूल


#person_data किस प्रकार का तत्व है? और आप एक पूर्ण मूल्य के रूप में क्या विचार करते हैं?
stackoverflow.com/a/49923589/7186739 - Super Model


जवाब:


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

कोड जांच करेगा कि स्ट्रिंग मान स्ट्रिंग "न्यूल" है या नहीं। आप यह जांचना चाहते हैं कि यह एक खाली स्ट्रिंग है या नहीं:

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 ) {...}
}

134
2017-11-22 10:47



The value of a field can not be null, it's always a string value. यह पूरी तरह से सच नहीं है। मुझे एक मिल गया है select युक्त नहीं options। जब मैं प्रदर्शन करता हूं .val() इस पर यह लौटता है null। Jquery 1.7.2 - Liam
@ लीम: हाँ, आप सही हैं, ऐसा अपवाद प्रतीत होता है। - Guffa
क्या यह अपवाद नवीनतम संस्करणों में हल किया गया है? - Marco Muciño
@Pispirulito: मुझे ऐसा नहीं लगता है, और मुझे नहीं लगता कि यह बदल जाएगा। ए select कोई भी बिना option तत्व कुछ ऐसा नहीं है जो आपके पास सामान्य रूप से होता है। यह बहुत बेकार है। - Guffa
@ गुफा अलग होना चाहते हैं, एक खाली <select> आपके उपयोगकर्ता के लिए संभावित विकल्प हो सकते हैं जिनके <option>कुछ प्रकार के सत्यापन से आएगा। - Malky.Kid


मैं इनपुट फ़ील्ड को भी ट्रिम कर दूंगा, क्योंकि एक जगह इसे भरने की तरह दिख सकती है

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

}

36
2017-11-22 10:49



मेरे लिए यह सही काम है :) - MD Ashik


यह मानते हुए

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
2017-11-22 10:50





यह इस बात पर निर्भर करता है कि आप किस तरह की जानकारी सशर्त में गुजर रहे हैं ..

कभी-कभी आपका परिणाम होगा null या undefined या '' या 0, मेरे सरल सत्यापन के लिए मैं इसका उपयोग करता हूं।

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

ध्यान दें: null ! = 'null'


10
2018-05-20 19:52





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

इसे प्राप्त करने के लिए इस सहायकों का उपयोग करें।


4
2018-01-28 08:07





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

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

0
2017-11-22 10:48