2017-01-28 6 views
0

Ich habe ein einfaches modales in meiner Sicht mit einem Datepicker-Eingabefeld. Ich habe einige Anweisungen aus den Antworten im Stapelüberlauf befolgt, aber was ich noch immer nicht funktioniere und ich weiß nicht warum. HierDatepicker wird nicht in einem Bootstrap-Modal geöffnet

ist das Skript Teil aus meiner asp.net Mvc-Ansicht:

<link rel="stylesheet" href="https://ajax.googleapis.com/ajax/libs/jqueryui/1.12.1/themes/smoothness/jquery-ui.css"> 
<script src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.12.1/jquery-ui.min.js"></script> 
<script src="http://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script> 
<script type="text/javascript"> 

    $('#mdl').on('click', function() { 
     var parent = $(this).closest('.jumbotron'); 
     var name = parent.find('input[name="NAME_OF_MODEL"]').val(); 
     var id = parent.find('input[name="ID_OF_MODEL"]').val(); 
     console.log(id); 
     //var titleLocation = $('#myModal').find('.modal-body'); modal - title 
     var titleLocation = $('#myModal').find('.modal-title'); 
     titleLocation.text(name); 

     // for each information you'll have to do like above... 

     $('#myModal').modal('show'); 

    }); 
}); 

    $(function() { 
     $('.date-picker').datepicker(); 
    }) 


</script> 

Und hier ist der modale:

<div id="myModal" class="modal fade" role="dialog"> 
<div class="modal-dialog"> 
    <!-- Modal content--> 
    <div class="modal-content"> 
     <div class="modal-header"> 
      <button type="button" class="close" data-dismiss="modal">&times;</button> 
      <h4 class="modal-title"></h4> 
     </div> 
     <div class="modal-body"> 
      <p>Some text in the modal.</p> 
      <input class='date-picker' /> 
     </div> 
     <div class="modal-footer"> 
      <button type="button" class="btn btn-default" data-dismiss="modal">Save</button> 
     </div> 
    </div> 
</div> 

Jede Hilfe geschätzt wird.

+0

Does Ihr Modal existiert, wenn die Seite zum ersten Mal gerendert wird oder dynamisch hinzugefügt wird (z. B. Verwenden Sie Ajax) in diesem Fall müssen Sie das Plugin anfügen, nachdem es hinzugefügt wurde –

+0

Es wird nicht dynamisch hinzugefügt. –

+0

Ihre Skripte sind in der falschen Reihenfolge - 'jquery' dann' jquery-ui' :) –

Antwort

1

Ihr Problem wird in der Reihenfolge der Bibliotheken bezogen werden:

Änderung der Bestellung aus:

  • jquery-ui.css
  • jquery-ui.min.js
  • jquery. min.js

zu:

  • jquery.min.js
  • jquery-ui.css
  • jquery-ui.min.js

So ist das Ergebnis:

$(function() { 
 

 
    $('#mdl').on('click', function() { 
 
    var parent = $(this).closest('.jumbotron'); 
 
    var name = parent.find('input[name="NAME_OF_MODEL"]').val(); 
 
    var id = parent.find('input[name="ID_OF_MODEL"]').val(); 
 
    console.log(id); 
 
    //var titleLocation = $('#myModal').find('.modal-body'); modal - title 
 
    var titleLocation = $('#myModal').find('.modal-title'); 
 
    titleLocation.text(name); 
 

 
    // for each information you'll have to do like above... 
 

 
    $('#myModal').modal('show'); 
 

 
    }); 
 
    $('.date-picker').datepicker(); 
 

 
});
<script src="http://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script> 
 
<link rel="stylesheet" href="https://ajax.googleapis.com/ajax/libs/jqueryui/1.12.1/themes/smoothness/jquery-ui.css"> 
 
<script src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.12.1/jquery-ui.min.js"></script> 
 

 

 
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css"> 
 
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script> 
 

 

 
<button class="btn" id="mdl">Click Me</button> 
 
<div id="myModal" class="modal fade" role="dialog"> 
 
    <div class="modal-dialog"> 
 
     <!-- Modal content--> 
 
     <div class="modal-content"> 
 
      <div class="modal-header"> 
 
       <button type="button" class="close" data-dismiss="modal">&times;</button> 
 
       <h4 class="modal-title"></h4> 
 
      </div> 
 
      <div class="modal-body"> 
 
       <p>Some text in the modal.</p> 
 
       <input class='date-picker'/> 
 
      </div> 
 
      <div class="modal-footer"> 
 
       <button type="button" class="btn btn-default" data-dismiss="modal">Save</button> 
 
      </div> 
 
     </div> 
 
    </div> 
 
</div>

+0

ich tat wie Sie vorgeschlagen haben, aber es funktioniert immer noch nicht.Ich sehe, dass Ihr Schnipsel funktioniert, also irgendwelche Ideen, was das Problem sein könnte? –

+0

@RobertRoss Fügen Sie den Js-Code in der Dom bereit. Snippet-Update d. Lassen Sie mich wissen, wenn Sie weiterhin Fehler erhalten – gaetanoM

+0

@getanoM, ich bekomme immer noch Uncaught TypeError: $ (...). Datepicker ist keine Funktion bei HTMLDocument. (DisplayListOfRolesUser: 96) bei Feuer (jquery-1.10.2.js: 3062) bei Object.add [wie getan] (jquery-1.10.2.js: 3108) bei init.ready (jquery-1.10. 2.js: 285) bei init (jquery-1.10.2.js: 228) bei jQuery (jquery-1.10.2.js: 77) bei HTMLDocument. (DisplayListOfRolesUser: 95) bei j (jquery.min.js: 1) bei k (jquery.min.js: 1) –

Verwandte Themen