जब तक आपका चयनकर्ता वास्तव में काम कर रहा है, मुझे आपके कोड के साथ कुछ भी गलत नहीं लगता है जो सरणी की लंबाई की जांच करता है। ऐसा करना चाहिए जो आप चाहते हैं। सरल और अधिक पठनीय होने के लिए अपने कोड को साफ करने के कई तरीके हैं। मैंने जो साफ किया है उसके बारे में नोट्स के साथ एक साफ़ संस्करण है।
var album_text = [];
$("input[name='album_text[]']").each(function() {
var value = $(this).val();
if (value) {
album_text.push(value);
}
});
if (album_text.length === 0) {
$('#error_message').html("Error");
}
else {
//send data
}
आप जो कर रहे थे और जो मैंने बदल दिया था, उसके बारे में कुछ नोट्स।
$(this)
हमेशा एक मान्य jQuery वस्तु तो वहाँ कभी if ($(this))
जाँच करने के लिए कोई कारण नहीं है है। इसमें इसके अंदर कोई भी डोम ऑब्जेक्ट नहीं हो सकता है, लेकिन यदि आपको आवश्यकता हो तो $(this).length
के साथ आप इसे देख सकते हैं, लेकिन यह आवश्यक नहीं है क्योंकि .each()
लूप नहीं चलाएगा यदि आपके .each()
लूप के अंदर कोई आइटम नहीं था कुछ कुछ।
- यह एक ही फ़ंक्शन में $ (यह) कई बार उपयोग करने में अक्षम है। स्थानीय चर में इसे एक बार प्राप्त करने के लिए बहुत बेहतर है और फिर उस स्थानीय चर से इसका उपयोग करें।
new Array()
के बजाय []
के साथ सरणी प्रारंभ करने की अनुशंसा की जाती है।
if (value)
जब मान एक स्ट्रिंग दोनों की रक्षा करेगा से value == null
, value == undefined
और value == ""
ताकि आप if (value && (value != ""))
करने के लिए की जरूरत नहीं है होने की उम्मीद है। आप बस तीन खाली शर्तों की जांच के लिए: if (value)
कर सकते हैं।
if (album_text.length === 0)
आपको बताएगा कि सरणी खाली है, जब तक कि यह मान्य, प्रारंभिक सरणी (जो यहां है)।
आप इस चयनकर्ता $("input[name='album_text[]']")
के साथ क्या करने का प्रयास कर रहे हैं?
"सामान्य जावास्क्रिप्ट" जैसा ही है: http: // stackoverflow।कॉम/प्रश्न/2672380/कैसे-करें-i-check-if-a-javascript-array-value-is-blank-or-null –
@ जुलिएन, मैंने इस धागे को शुरू करने से पहले उस थ्रेड में सूचीबद्ध सभी समाधानों को आजमाया। उनमें से कोई भी किसी तरह काम नहीं किया। – input
क्या हम संदर्भ के लिए कुछ और कोड प्राप्त कर सकते हैं? जावास्क्रिप्ट के आसपास, एचटीएमएल? क्या आप सुनिश्चित हैं कि '$ (" इनपुट [name = 'album_text []'] ") वास्तव में तत्वों को वापस कर रहा है? –