2012-08-15 10 views
8

क्या HTML चयन फ़ील्ड के लिए readOnly="true" के बराबर HTML चुनिंदा फ़ील्ड के लिए कोई विशेषता या तकनीक है?एचटीएमएल चयन तत्वों के लिए केवल पढ़ने योग्य समतुल्य

मेरे पास एक फॉर्म का चयन क्षेत्र है जिसे मैं अक्षम करना चाहता हूं, लेकिन फॉर्म पोस्ट होने पर भी पास हो जाता है। यदि यह एक HTML इनपुट थे, मैं इस

$('select_id').setAttribute('readOnly', 'true'); 

की तरह कुछ करना चाहते हैं और ब्राउज़र संपादन न करने योग्य के रूप में क्षेत्र प्रस्तुत करना होगा, लेकिन यह मूल्य अभी भी बैकएंड में पारित हो जाएगा। मुझे एक HTML चयन के लिए कुछ पसंद है, लेकिन निम्नलिखित

$('#select_id').setAttribute('readOnly', 'true'); 

काम नहीं करता है। गुण सफलतापूर्वक डीओएम में जोड़ा गया है, लेकिन ब्राउज़र अभी भी इसे चुनने योग्य के रूप में प्रस्तुत करता है।

मुझे लगता है मैं कर सकता निम्नलिखित

$('#input_id').disabled(); 

लेकिन एक क्षेत्र है जब विकलांग अपने मूल्य बैकएंड के माध्यम से पारित नहीं है।

मुझे इस चुनिंदा क्षेत्र को अक्षम करने का कोई तरीका चाहिए, लेकिन अभी भी बैकएंड पर जाएं।

(उदाहरण प्रोटोटाइप जे एस उपयोग करें, लेकिन मैं किसी भी सामान्य समाधान में दिलचस्पी रखता हूँ)

उत्तर

22

सभी अक्षम लेकिन चयनित विकल्प:

<select> 
<option disabled="disabled">1</option> 
<option selected="selected">2</option> 
<option disabled="disabled">3</option> 
</select> 

इस तरह लटकती अभी भी काम करता है (और इसके मूल्य को प्रस्तुत करता है) लेकिन उपयोगकर्ता एक और मूल्य का चयन नहीं कर सकता है।

+2

सुनिश्चित नहीं हैं कि नीचे मतदान या क्यों, इस काम करने के लिए प्रकट होता है जो (कम से कम क्रोम में, अन्य ब्राउज़रों का परीक्षण कर रहे हैं) –

+3

@AlanStorm, यह एक परीक्षण का नरक है :)) –

+2

इस समाधान के साथ समस्या यह है कि उपयोगकर्ता अभी भी CTRL + का उपयोग करके विकल्पों को अचयनित कर सकता है –

3

विकलांग वर्ग जोड़ें:

.disabled{ 
    color: grey; 
} 

वर्ग वर्तमान उपयोग ध्यान केंद्रित करने पर और क्लिक पर डिफ़ॉल्ट, और DBL क्लिक रोकने यदि:

$('#el').bind('click dblclick focus').function(event){ 
    if ($(this).hasClass('disabled')) event.preventDefault(); 
}); 
+4

भविष्य के googlers के लिए वर्थ नोटिंग , यह उदाहरण usin प्रतीत होता है जी jQuery। –

संबंधित मुद्दे