2014-08-27 14 views
8

Ho difficoltà nell'integrare un menu a discesa nel mio modulo HTML. Ho provato tutto quello che posso fare e quello che ho trovato online, ma non funziona ancora. Ho trovato che questo codice funziona correttamente su JSFiddle. I percorsi di script vanno bene e gli script sono caricati correttamente.Il menu a discesa Semantic-ui non funziona

Mi sono perso qualcosa?

<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

Se funziona su Fiddle, ma non sul proprio enviro, controlla i percorsi verso le origini dello script. – briansol

+0

potrebbe essere uno dei riferimenti al file js non viene rilevato correttamente nel codice. –

+0

@briansol I percorsi di script vanno bene. È caricato correttamente. – R4T1N4

risposta

13

provare a mettere

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

destra prima della chiusura </body> tag. Stai eseguendo lo script a discesa prima che questi elementi esistano anche nel DOM, quindi non c'è niente da collegare.

+0

Odio quando 'jQuery' esegue silenziosamente le azioni su nessun elemento –

+0

Grazie mille! Mi ha aiutato molto! – R4T1N4

+3

Puoi anche fare '$ (function() {$ ('. Ui.dropdown'). Dropdown();})' e lasciandolo in testa –

2

Provare a scrivere in questo modo:

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

Lo script è in cima alla tag body, quindi bisogna controllare se il DOM è pronto. La funzione ready() controlla se il DOM è pronto prima e poi esegue lo script.

0

Questo errore si verifica anche se si utilizza un tema personalizzato per l'elemento del menu in raccolte nello theme.config ma non si fornisce un file di sovrascrittura effettivo per le variabili e le sostituzioni nella cartella del tema, anche come file vuoti. Non è presente alcun errore js ma il menu a discesa non funziona. Assicurati di avere tutti i file di sostituzione forniti o sostituisci solo gli elementi che desideri veramente utilizzare dal tema personalizzato in theme.config.

Problemi correlati