2016-07-19 6 views
0

Ich habe eine Ansicht, die die gemeinsame _Layout verwendet, die alle Stylesheets und Javascript-Dateien referenziert hat.Ansicht hat _Layout aber Dropdown-Menü funktioniert nicht

Auf meinem navbar habe ich eine dropdown-menu:

<a class="dropdown-toggle" role="button" aria-expanded="false" href="#" data-toggle="dropdown">Navigate<span class="caret"></span></a> 
    <ul class="dropdown-menu" role="menu" aria-labelledby="dropdownMenuDivider"> 

Aber wenn ich auf den Dropdown klicken, passiert nichts .. das Menü nicht angezeigt wird, oder so etwas. Wenn ich auf den Dropdown klicken und den Cursor wegbewegen der Fokus bleibt auf dem Drop-Down-Menü aber auch hier nichts zeigt ..

Es sieht wie folgt aus:

enter image description here

Diese Drop-Down auf jeder anderen Ansicht funktioniert außer diesem.

Ich habe überprüft die View Source und alle der Sheets & Javascript-Dateien aus dem _Layout sind.

von einem Ajax-Aufruf auf einer anderen Ansicht Diese Ansicht wird erstellt:

<script type="text/javascript"> 
$('#SendToController').on('click', function() { 
    sendToController(); 
    return false; 
}); 
function sendToController(){ 
    var selectedM = $('#M').val(); 
    var chosenY = $('#Y').val(); 
    var chosenC = $('#C').val(); 
    $.ajax({ 
     url: '/ALog/MReports/Generate', 
     data: { 'mValue' : selectedM, 'y' : chosenY, 'c' : chosenC }, 
     type: 'GET', 
     cache: false, 
     success: function (data) { 
      $("body").html(data); 
     }, 
    }); 
} 


</script> 

Jede Hilfe sehr geschätzt wird.

+0

Es sieht so aus, als ob du eine doppelte ID hast, wo sonst kannst du deinen kompletten Code hinterlegen? – Ersian

+0

@Ersian Idk was noch zu posten –

+0

Ok es hilft zu erklären, ist es, weil das DOM Ihren neuen Inhalt nicht hört, müssen Sie es neu laden. '$ ('. dropdown-toggle'). dropdown();' nach Ihrem '$ (" body "). html (data);' sollte das Problem beheben – Ersian

Antwort

1

Nach Ihrem Ajax-Anruf hört der JS Ihren neuen Inhalt nicht, deshalb funktioniert er nicht. Sie sollten Ihre Funktion nach $("body").html(data); "neu laden" Sie können $('.dropdown-toggle').dropdown(); setzen, um Ihr Dropdown-Menü arbeiten zu lassen.