2010-05-19 13 views
5

मेरे पास एक चुनिंदा सूचियां हैं, जिनमें बहुत सारे विकल्प हैं। कुछ इनपुट के आधार पर मैं चुनिंदा सूची से कुछ विकल्प छिपाना चाहता हूं। जैसेचुनिंदा सूची से विकल्पों को छिपाने की कोशिश कर रहा है .. क्रोम पर काम नहीं कर रहा है और यानी

$('#selectlist1 option').each(function(){ 

    $(this).hide(); 

}) 

चयन सूची से विकल्प को छुपाने के लिए मैं लिखा है jQuery लेकिन इस कोड फ़ायरफ़ॉक्स और उसके क्रोम और यानी पर काम नहीं कर के लिए ही काम करने के लिए लगता है। जबकि अगर मैं

$('#selectlist1').hide(); 

यह सभी ब्राउज़र के लिए काम करता है। कोई सूचक जहां मुझे देखना चाहिए?

+0

अंतर आप के रूप में पूरा 'select' तत्व का विरोध करने के अलग-अलग' option' तत्वों को छिपाने की कोशिश कर रहे है । छुपाएं() यहां भी सही विधि नहीं हो सकती है, निकालें()। –

+0

हाँ मैं इसे समझता हूं। मेरा सवाल यह है कि क्यों छुपाएं() व्यक्तिगत विकल्पों पर काम नहीं कर रहा है। – ninja

+0

http://stackoverflow.com/a/21085171/1544708 आप इस सरल समाधान को आजमा सकते हैं –

उत्तर

1

आप व्यक्तिगत विकल्प तत्व एक्स-ब्राउज़र को छिपा नहीं सकते हैं। एकमात्र समाधान केवल नए विकल्पों के साथ चयन को प्रतिस्थापित करना है, जिन्हें आप प्रदर्शित करना चाहते हैं।

देखें इस दूसरे question

+0

'x-browser' से आपका क्या मतलब है? मैंने आपके द्वारा सुझाए गए समाधान की कोशिश की। समस्या यह है कि मैं ड्रोपल का उपयोग कर रहा हूं और यह फ़ॉर्म संरचना को सत्यापित करने के लिए कैश में कुछ डेटा स्टोर करता है। इसलिए यदि मैं कुछ तत्व हटा देता हूं और उन्हें बाद में जोड़ता हूं, तो यह सत्यापन के दौरान त्रुटि देता है। तो मैंने jquery के शो/छुपा विधि का उपयोग करने के बारे में सोचा था कि मैं बिना किसी सत्यापन त्रुटि के कर सकता हूं। लेकिन ऐसा लगता है कि यह मोज़िला के अलावा किसी भी ब्राउज़र में समर्थित नहीं है। – ninja

+0

एक्स-ब्राउजर = क्रॉस ब्राउजर (क्रोम, एफएफ, यानी ओपेरा इत्यादि) – redsquare

-2

उन वर्शन प्रभावित में विकल्प तत्वों छुपा से निपटने के लिए होने किसी के लिए, मैं एक समाधान यहाँ जो क्लोन नहीं करता या विकल्पों निकालने, लेकिन उनके आसपास फैला लपेटता है, जो बहुत यकीनन है तैनात के साथ आसान निपटने के लिए:

http://work.arounds.org/issue/96/option-elements-do-not-hide-in-IE/

+0

दुर्भाग्यवश यह खुराक क्रोम के साथ काम नहीं करती है, जो कि – nodrog

+0

के भीतर अवधि मौजूद नहीं है, यह लिंक अब काम नहीं करता है। – David

2

यहाँ नए विकल्पों के साथ मांग पर चयन सूची के पुनर्निर्माण के लिए एक अपेक्षाकृत संक्षिप्त तरीका है। इस डायनामिक रूप से सम्मिलित विकल्प के लिए काम करता है (जो है क्या IE और क्रोम दिखा और छुपा के साथ एक समस्या है)

$().ready(function() { 
    //store a reference 
    var select = $('#myselect'); 
}); 

function rebuild_select(arr_new_options) { 
    var parent = select.parent(); 
    select.empty(); 
    var clone = select.clone(); 
    select.remove(); 
    for(var x=0; x < arr_new_options.length; x++) { 
     clone.append(arr_new_options[x]); 
    } 
    parent.append(clone); 
    select = clone; 
} 
संबंधित मुद्दे