2016-04-14 9 views
0

Ich bin ein Popup-modal um dynamische Daten innerhalb der Eingänge zu zeigen, um zu bearbeiten, auf der gleichen Seite verwende ich select2 ohne Probleme, aber im modalen sieht es so aus es wird auch nach Belastung nicht initialisiert werden, obwohl jquery ist es auf dem Erfolg der Initialisierung (oder das ist, was es tun soll) mit dieser modal:Select2 nicht im Bootstrap-modal initialisiert, wenn dynamisch erstellt mit Ajax

<div class="modal fade" id="edit" 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">Edit</h4> 
       </div> 
       <div class="modal-body"> 
        <div class="company_edit"> 
        </div> 
       </div> 
       <div class="modal-footer"> 
        <button type="button" class="btn btn-default" data-dismiss="modal">Close</button> 
       </div></div></div> </div> 

und jquery:

$('.btn.btn-primary.btn-xs').on('click', function() { 
       var company_id = $(this).attr('value'); 
       $.ajax({ 
        type: 'post', 
        url: 'dist/php/info_to_edit.php', 
        data: 'post_id=' + company_id, 
        success: function (r) 
        { 
         $(".select2").select2({ 
          tags: true, 
          tokenSeparators: [',', ' '] 
         }); 
         // now you can show output in your modal 
         $('#edit').modal('show'); // put your modal id 
         $('#edit').find('.company_edit').html(r); 
        }});}); 

und dem pHP-Schnipsel:

echo '<select name="countries_import[]" class="form-control select2" multiple="multiple" id="import_select"></select>'; 

Antwort

1

Sie können versuchen,

$('#edit').find('.company_edit').html(r); 

vor

$(".select2").select2({ 
    tags: true, 
    tokenSeparators: [',', ' '] 
}); 
+0

ja gesetzt ich mit meinem Skript gewesen logischer sein sollte. Danke, das hat mein Problem gelöst. –