2009-09-07 19 views
55

मेरे पास 2 फ़ील्ड हैं: 1 इनपुट, 1 चयन बॉक्स।jQuery - फॉर्म फ़ील्ड अक्षम करें

क्या उपयोगकर्ता ब्राउज़र को किसी अन्य क्षेत्र का उपयोग करने के लिए संभव बनाता है जब उपयोगकर्ता दूसरे का उपयोग करता है?

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

इसके साथ कोई भी मदद की सराहना की जाएगी।

अग्रिम में चीयर्स।

उत्तर

112
<script type="text/javascript" src="jquery.js"></script>   
<script type="text/javascript"> 
    $(document).ready(function() { 
     $("#suburb").blur(function() { 
      if ($(this).val() != '') 
       $("#post_code").attr("disabled", "disabled"); 
      else 
       $("#post_code").removeAttr("disabled"); 
     }); 

     $("#post_code").blur(function() { 
      if ($(this).val() != '') 
       $("#suburb").attr("disabled", "disabled"); 
      else 
       $("#suburb").removeAttr("disabled"); 
     }); 
    }); 
</script> 

आप भी अपने चयन तत्व के तहत पहले विकल्प को एक मान जोड़ने की आवश्यकता होगी:

<option value=""></option> 
+0

अरे bigmattyh, धन्यवाद। दुर्भाग्यवश, स्क्रिप्ट मेरे लिए काम नहीं कर रही है। क्या स्क्रिप्ट के काम करने के लिए मुझे कुछ करने की ज़रूरत है? नीचे मेरी कोड है: <चुनिंदा आकार = "6" नाम = " उपनगर "आईडी =" उपनगर "/> <विकल्प चयनित =" चयनित "> – user159025

+0

ठीक है, आपको jQuery को शामिल करने की आवश्यकता होगी, और इस कोड को $ (दस्तावेज़) में डाल दें .ready() ब्लॉक (अपडेट किया गया इसे प्रभावित करें)। अपने एचटीएमएल के लिए, इस काम को विश्वसनीय बनाने के लिए आपको उस चयन बॉक्स पर डिफ़ॉल्ट मान की आवश्यकता होगी। –

+0

आपके प्रयासों के लिए धन्यवाद। दुर्भाग्य से, यह मेरे लिए काम नहीं कर रहा है। चीयर्स। – user159025

7

भी चयन के लिए इस

$("#inp").focus(function(){$("#sel").attr('disabled','true');}); 

$("#inp").blur(function(){$("#sel").removeAttr('disabled');}); 

ठीक इसके विपरीत प्रयास करें।

+0

आपके प्रयासों के लिए धन्यवाद। दुर्भाग्य से, यह काम नहीं करता है। – user159025

+0

क्या आप विवरण के रूप में विवरण जोड़ सकते हैं? मैंने आईई में कोशिश की थी ठीक काम कर रहा था। – Nrj

+0

हे एनआरजे। उत्तर देने के लिए धन्यवाद। मैंने स्क्रिप्ट जोड़ा। लेकिन कुछ भी नहीं होता है। मैंने $ (दस्तावेज़) जोड़ा है (पहले से) (फंक्शन() और विभिन्न आईडी नामों का प्रयास किया, लेकिन कुछ भी नहीं हुआ। चीयर्स – user159025

12
$('input, select').attr('disabled', 'disabled'); 
+1

+1 और मैं शैली के लिए निम्न पंक्ति जोड़ता हूं: $ ('इनपुट, टेक्स्टरेरा')। Attr ('रीडोनली', 'रीडोनली'); – AlterPHP

0

यहाँ करने के लिए एक jQuery प्लगइन है ही: http://s.technabled.com/jquery-foggle

+1

$ 3 या $ 15 के बीच की लागत है और ओपन सोर्स नहीं है, लेकिन यह समस्या का समाधान करता है। – ftrotter

44

jQuery डॉक्स विकलांग जैसी चीजों के लिए प्रोप(), जाँच, आदि इसके अलावा अधिक संक्षिप्त तरीके से किया जाता है का उपयोग करने के लिए अपने चयनकर्ताओं इंजन का उपयोग करने का कहना है कि । तो एक div या फॉर्म पैरेंट में सभी फॉर्म तत्वों को अक्षम करने के लिए।

$myForm.find(':input:not(:disabled)').prop('disabled',true); 

और फिर सक्षम करने के लिए आप क्या कर सकता है आप त्वरित जवाब के लिए

$myForm.find(':input:disabled').prop('disabled',false); 
+0

यह किसी भी लॉजिकल स्ट्रक्चर में शामिल करने के लिए क्लीनर और आसान है – dwenaus

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