2012-10-05 14 views
11

पर आधारित फ़ील्ड गतिशील रूप से छुपाएं या दिखाएं मैं एक फॉर्म मॉड्यूल बना रहा हूं। शुरुआती फ़ील्ड में से एक रेडियो बटन का एक सेट है। डिफ़ॉल्ट रूप से पहला बटन चुना जाता है। इसके बाद मेरे पास चुनिंदा बक्से की एक श्रृंखला होगी। एक को दिखने की जरूरत है, दूसरों को अदृश्य। फिर जब उपयोगकर्ता एक अलग रेडियो बटन का चयन करता है तो मैं अलग-अलग चयन बॉक्स को दिखाना या छिपाना चाहता हूं। मैं डिफ़ॉल्ट रूप से फ़ील्ड और लेबल को कैसे छिपा सकता हूं और इसे बाद में निर्भर करता हूं कि किस रेडियो बटन (या उस मामले के लिए एक और चयन बॉक्स विकल्प) चुना जाता है?ड्रूपल: फॉर्म एपीआई, इनपुट

+0

मैं अपने मोबाइल तो कर सकते हैं 'पर हूँ है कुछ चुने हुए क्षेत्र दिखाने के लिए आपके लिए आसानी से लिंक नहीं मिल रहा है। फॉर्म एपीआई रेफरेंस जांचें और आपको सेट करने के लिए #ajax प्रॉपर्टी दिखाई देगी। इस तरह हम आमतौर पर ऐसा करते हैं। लेकिन कच्ची जावास्क्रिप्ट या jquery भी एक विकल्प है। –

उत्तर

17

आप इसे प्राप्त करने के लिए #states संपत्ति का उपयोग कर सकते हैं। #states संपत्ति सभी फॉर्म एपीआई तत्वों पर लागू की जा सकती है।

उदाहरण के साथ documentation link है।

उम्मीद है कि यह मदद करता है ... मुहम्मद।

+0

बहुत बहुत धन्यवाद! मैं एपीआई देख रहा था, लेकिन वहां बहुत कुछ है इसलिए इसे आसानी से याद किया गया था। – LoneWolfPR

+0

वास्तव में खुशी हुई यह मदद की:) ... -मुहम्मद। –

1

आप 'सशर्त फ़ील्ड' मॉड्यूल का भी उपयोग कर सकते हैं। यहां लिंक है: https://drupal.org/project/conditional_fields यह एक सामग्री प्रकार बनाते समय 'निर्भरता प्रबंधित करें' टैब प्रदान करता है जहां आप चुन सकते हैं कि फ़ील्ड का कोई विशेष मूल्य होने पर कौन से फ़ील्ड दिखाई दे सकते हैं।

11

#states की साधारण के उपयोग का उदाहरण: नाम 'आइटम' के साथ ही अगर नाम 'प्रकार' के साथ एक और फ़ील्ड मान 'बेचने'

$form['item'] = array( 
     '#title' => t('Task Item'), 
     '#type' => 'select', 
     '#states' => array(
      // Only show this field when the value of type is sell. 
      'visible' => array(
       ':input[name="type"]' => array('value' => 'sell'), 
      ), 
     ), 
    ); 
+0

इसका उपयोग किस हुक में किया जाएगा? –

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