2014-08-27 9 views
8

मुझे अपने HTML फॉर्म में एक ड्रॉपडाउन मेनू को एकीकृत करने में समस्या है। मैंने जो कुछ भी किया है और जो मैंने ऑनलाइन पाया है, लेकिन मैंने अभी भी काम नहीं किया है। मैंने पाया कि यह कोड JSFiddle पर ठीक से चलता है। स्क्रिप्ट पथ ठीक हैं और स्क्रिप्ट सही ढंग से लोड हो जाती हैं।अर्थात्-ui ड्रॉपडाउन काम नहीं कर रहा है

क्या मुझे कुछ याद आया?

<html> 
    <head> 
     <meta charset="UTF-8"> 
     <link href="../semantic/packaged/css/semantic.min.css" rel="stylesheet" type="text/css"/> 
    <script type="text/javascript" src="http://code.jquery.com/jquery-latest.min.js"></script> 
    <script src="../semantic/packaged/javascript/semantic.min.js"></script> 
    <script> 
    $('.ui.dropdown').dropdown(); 
    </script> 
    </head> 
    <body> 
     <form class="ui form segment" style="width:400px; margin:auto;" method="POST" action="register_do.php"> 
    <div class="field"> 
     <label>학년</label> 
     <div class="ui fluid dropdown selection"> 
     <input type="hidden" name="grade"> 
     <div class="default text">학년</div> 
     <i class="dropdown icon"></i> 
     <div class="menu"> 
      <div class="item" data-value="10">고1</div> 
      <div class="item" data-value="11">고2</div> 
      <div class="item" data-value="12">고3</div> 
     </div> 
     </div> 
    </div> 
    <div class="ui buttons"> 
       <button class="ui red submit button">등록</button> 
       <div class="or"></div> 
       <div class="ui button" onClick="history.back();">취소</div> 
      </div> 
     </form> 
    </body> 
</html> 
+0

यदि यह फ़िल्ड पर काम करता है, लेकिन अपने स्वयं के वातावरण पर नहीं, तो अपने पथों को अपने स्क्रिप्ट स्रोतों पर जांचें। – briansol

+0

जेएस फ़ाइल संदर्भ में से एक हो सकता है जो आपके कोड में ठीक से नहीं उठाया जा रहा है। –

+0

@briansol स्क्रिप्ट पथ ठीक हैं। यह सही ढंग से भरा हुआ है। – R4T1N4

उत्तर

13

सही समापन </body> टैग से पहले

<script> 
    $('.ui.dropdown').dropdown(); 
</script> 

डालने की कोशिश करो। आप इन तत्वों से पहले ड्रॉपडाउन स्क्रिप्ट चला रहे हैं $('.ui.dropdown') यहां तक ​​कि डोम में मौजूद है, इसलिए इसमें संलग्न करने के लिए कुछ भी नहीं है।

+0

मुझे नफरत है जब 'jQuery' चुपचाप किसी तत्व पर कार्रवाई चलाता है –

+0

बहुत बहुत धन्यवाद! इसने मेरी बहुत मदद की! – R4T1N4

+3

आप '$ (फ़ंक्शन() {$ ('। Ui.dropdown') भी कर सकते हैं। ड्रॉपडाउन();}) 'और इसे –

2

इस तरह इसे लिखने का प्रयास करें:

$(document).ready(function() { 
    $('.ui.dropdown').dropdown(); 
}); 

आपकी स्क्रिप्ट बॉडी टैग के शीर्ष पर है, तो आप अगर DOM तैयार होने की जांच करने के लिए है। तैयार() फ़ंक्शन जांच करेगा कि क्या DOM पहले तैयार है और फिर स्क्रिप्ट चलाएं।

0

यह त्रुटि तब भी होती है जब आप theme.config में संग्रह के तहत मेनू तत्व के लिए कस्टम थीम का उपयोग करते हैं लेकिन अपने थीम फ़ोल्डर में चर और ओवरराइड के लिए वास्तविक ओवरराइड फ़ाइल प्रदान नहीं करते - यहां तक ​​कि खाली फ़ाइलें भी। कोई जेएस त्रुटि दिखाई नहीं दे रही है लेकिन ड्रॉपडाउन काम नहीं कर रहा है। सुनिश्चित करें कि आपके पास theme.config में आपके कस्टम थीम से केवल उन तत्वों को प्रदान या प्रतिस्थापित करने वाली फ़ाइलों को ओवरराइड किया गया है।

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