2017-12-30 28 views
0

seine sehr klare Frage, habe ich Problem mit der Übergabe von ID an den Controller beim Beenden des Eingabefeldes, die in der gleichen Zeile der ID, die ich will bestehen? Also noch einmal, wie kann ich zwei Variablen übergeben, Variable des Eingabefeldes und die ID der Zeile, in der dieses Eingabefeld existiert?Laravel - Datatable ID übergeben, wenn das Eingabefeld in der aktuellen Zeile

<script type="text/javascript"> 
     var oTable = $('#users-table').DataTable({ 
      dom: 'flBrtip', 
       processing: true, 
      serverSide: true, 
      ajax: { 
       url: 'custom-filter-data', 
     columns : [ 
     {data: 'id'}, 
     {data: 'details', name: 'details'}, 
      {data: 'description', name: 'description'}, 
     {data: 'vendor_id',render: function (data) {   
      return ('<label hidden>'+data+'</label> <input type="text" id="vendor" class="vendor" onClick="this.select();" value="'+data+'">'); 
      }}, 
      ], 
     pageLength: 10, 
     }; 
    oTable.draw(); 
    </script> 

Ich weiß, wie Variablen wie in dieser unter

mich mit Ajax passieren
$("#vendor").on('blur', function() { 
    $.ajax({ 
     type: 'POST', 
     url: 'Vendor_Save', 
     data: { 
      '_token': $('input[name=_token]').val(), 
      'currentid': {data: 'id'}, 
      'current_vendor_id': {data: 'vendor_id'}, 

     }, 
     success: function(data) { 
      console.log(data); 
      } 
      }); 

       }); 

Antwort

1

Sagen hast du die ID: Nicht getestet, aber die unten ist mein Weg:

<script type="text/javascript"> 
    var oTable = $('#users-table').DataTable({ 
     dom: 'flBrtip', 
     processing: true, 
     serverSide: true, 
     ajax: { 
      url: 'custom-filter-data', 
      columns : [ 
        {data: 'id'}, 
        {data: 'details', name: 'details'}, 
        {data: 'description', name: 'description'}, 

        { 
         mRender: function (data, type, row) {     
          return '<label hidden>'+data+'</label> <input type="text" id="vendor" class="vendor" data-id="'+row.id+'" onClick="this.select();" value="'+data+'">'; 
         } 
        }, 
      ], 
      pageLength: 10, 
    }; 
    oTable.draw(); 
</script> 




    $(document).on('blur focusout', "#vendor", function(){ 
     var id = $(this).data("id"); 

     alert(id); //Tell me you are getting the id 

     $.ajax({ 
      type: 'POST', 
      url: 'Vendor_Save', 
      data: { 
       '_token': $('input[name=_token]').val(), 
       'currentid': {data: 'id'}, 
       'current_vendor_id': {data: 'vendor_id'}, 
      }, 
      success: function(data) { 
       console.log(data); 
      } 
     }); 
    }); 
+0

Das Problem ist das Skript $ ("#vendor") .on ('blur', function() {... funktioniert nicht, weil es aus dem vorherigen Code mit der Eingabe –

+0

ist, überprüfen Sie den hinzugefügten aktualisierten Code: '$ (document) .on ('blur focusout', "#vendor") , Funktion() {', versuchen Sie es jetzt –

+0

zeigt ID jetzt, ich werde jetzt den gesamten Code testen –

Verwandte Themen