2010-08-13 9 views
5

मेरे पास एक (बहुत) मूल सत्यापन स्क्रिप्ट है। मैं मूल रूप से कक्षा के साथ किसी भी इनपुट की जांच करना चाहता हूं। यह देखने के लिए कि क्या कोई मूल्य है या नहीं) रिक्त या बी) 0 और यदि ऐसा है, तो मेरे फॉर्म सबमिट पर झूठी वापसी करें। इस कोड को झूठी वापस जाने के लिए नहीं लगता है:jQuery - किसी दिए गए वर्ग के साथ कोई भी इनपुट खोजें जिसका कोई मूल्य नहीं है

function myValidation(){ 
    if($(".required").val() == "" || $(".required").val() == 0){ 
    $(this).css({ backgroundColor:'orange' }) ; 
    return false; 
    } 
} 

मेरी फार्म की मेरी ऑनसबमिट हैंडलर को यह समारोह जोड़ किसी भी परिणाम लौटा रहा है। इस मामले पर किसी भी प्रकाश शेड की सराहना की जाएगी।

मैं मूल रूप से एक समारोह के बाद हूं जो कक्षा के साथ सभी इनपुट के माध्यम से पुन: प्रयास करता है। और यदि किसी के पास खाली या 0 मान हैं, तो मेरे सबमिट पर झूठी वापसी करें और सभी बुरी तरह व्यवहार किए गए इनपुट के पृष्ठभूमि रंग को नारंगी में बदलें।

उत्तर

11

आपका कोड वर्तमान में पहले.required के लिए .val() हो जाता है, the .val() documentation से:

मिलान किया तत्वों के सेट में पहला तत्व के वर्तमान मूल्य प्राप्त करें।

आप व्यक्तिगत रूप से बजाय हर एक के माध्यम से फिल्टर करने के लिए, इस तरह की जरूरत है:

function myValidation(){ 
    var allGood = true; 
    $(".required").each(function() { 
    var val = $(this).val(); 
    if(val == "" || val == 0) { 
     $(this).css({ backgroundColor:'orange' }); 
     allGood = false; 
    } 
    }); 
    return allGood; 
} 

या थोड़ा अधिक कॉम्पैक्ट संस्करण:

$:

function myValidation(){ 
    return $(".required").filter(function() { 
    var val = $(this).val(); 
    return val == "" || val == 0; 
    }).css({ backgroundColor:'orange' }).length === 0; 
} 
+0

प्रश्न को ठीक से पढ़ने के लिए +1, मेरे विपरीत ... फिर से! – GenericTypeTea

+0

@GenericTypeTea - धन्यवाद, और प्रकार के ठीक करने के लिए धन्यवाद! :) –

+0

मुझे एक तरह से योगदान देना था या दूसरा :)। कोई बात नहीं। – GenericTypeTea

3

इस jQuery चयनकर्ता का प्रयास करें ('.qureired [value = ""], .required [value = 0]')

+0

बिल्कुल सही, यह काम करता है। – cederlof

+0

* गले * धन्यवाद आदमी, सही <3 – Gogol

1
$(document).ready(function(){ 

    $.extend($.expr[':'],{ 
     textboxEmpty: function(el){ 
      return ($(el).val() === ""); 
     } 
    }); 
}); 

और फिर उन्हें इस तरह का उपयोग:तुम भी अपने स्वयं के कस्टम jQuery चयनकर्ता को परिभाषित करते हुए यह कर सकता है

alert($('input.required:textboxEmpty').length); //alerts the number of input boxes in your selection 

तो तुम एक .each उन पर डाल सकता है:

$('input.required:textboxEmpty').each(function(){ 
    //do stuff 
}); 
संबंधित मुद्दे