2017-08-25 11 views
6

कहा जाता है, जिसे मैं एरे के अंदर संग्रहीत jQuery निष्पादित नहीं करता हूं, वर्तमान में मैं एक फ़ंक्शन के अंदर संग्रहीत एक सरणी के अंदर कुछ jQuery स्निपेट संग्रहीत करता हूं। एक बार जब मैं अपने कोडबेस से फ़ंक्शन को कॉल करता हूं, तो प्रत्येक jQuery स्निपेट निष्पादित होता है। इसलिए, मुझे सरणी के माध्यम से काम करने से रोकना।प्रत्येक बार फ़ंक्शन को

निम्नलिखित कोड एक उदाहरण है:

var remove = [ 
    jQuery("#mesh option:selected").removeAttr("selected"), 
    jQuery("#pipetype option:selected").removeAttr("selected"), 
    jQuery("#caboption option:selected").removeAttr("selected"), 
    jQuery("#bedsize option:selected").removeAttr("selected"), 
    jQuery("#model option:selected").removeAttr("selected"), 
    jQuery("#year option:selected").removeAttr("selected"), 
]; 


for (var i = 0; i <= amount; i++) { 
    remove[i]; 
} 

मैं कैसे आश्वस्त कर सकते हैं कि जब deselect() कहा जाता है, कि केवल कुछ ही सरणी तत्वों के बजाय उन सभी को निष्पादित हो?

धन्यवाद!

उत्तर

5

आप इसे गलत कर रहे हैं। जब आप स्वयं घोषित करते हैं तो सरणी तत्व निष्पादित होते हैं।

सब कुछ करने के बजाय आप सिर्फ

var remove = [ "mesh","pipetype", "caboption","bedsize", "model","year"]; 
for (var i = 0; i <= amount; i++) { 
    jQuery("#"+remove[i]+" option:selected").removeAttr("selected"), 
} 

आप इन से अलग किसी अन्य का चयन करें बॉक्स की जरूरत नहीं है, तो आप भी बस

$("select option").prop("selected", false); 
3

कर सकता है आप डॉन तो क्या कर सकते हैं ' टी उन्हें तुरंत निष्पादित करना चाहते हैं, इसे कार्यों की एक सरणी बनाएं, और उन्हें () के साथ लूप में कॉल करें।

var remove = [ 
    () => jQuery("#mesh option:selected").removeAttr("selected"), 
    () => jQuery("#pipetype option:selected").removeAttr("selected"), 
    () => jQuery("#caboption option:selected").removeAttr("selected"), 
    () => jQuery("#bedsize option:selected").removeAttr("selected"), 
    () => jQuery("#model option:selected").removeAttr("selected"), 
    () => jQuery("#year option:selected").removeAttr("selected"), 
]; 


for (var i = 0; i <= amount; i++) { 
    remove[i](); 
} 
संबंधित मुद्दे