2015-08-06 12 views
12

usavo 'Editor' plug-in per la tabella dei dati e in seguito è stato il codice: editor di tabellaDatatable la modifica in linea, senza plug-in editor di

dati definiti:

 editor = new $.fn.dataTable.Editor({ 
     ajax: '/contact/' + Contact.id, 
     table: "#contact-datatable", 
     fields: [ { 
        name: "id", 
        }, { 
        name: "category", 
        type: "check", 
        options: [ 
           { label: 'Science', value: "Science" }, 
           { label: 'Maths', value: 'Maths' }, 
           { label: 'Economics', value: 'Economics' }, 
          ] 
       } 
        ................ 
       ] 
    }); 

.....

$('#contact-datatable').on('click', 'tbody td:not(:first-child)', function (e) { 
       editor.inline(this, { submitOnBlur: true }); 
      }); 

Allegare la pagina con questo: Quando si fa clic su Categoria, viene visualizzato un menu a discesa per la modifica (utilizzando il plug-in dell'editor).

Ma il problema è il plug-in editor di datatables non è opensource e il mio progetto non consente affatto un plug-in a pagamento.

Qualcuno può aiutarmi per la modifica in linea nei data base con il plugin "editor"?

seguito è riportato il codice che ho scritto senza redattore:

Contact.dataTable = $('#contact-datatable').dataTable({ 
     "ajax": { 
       "url" : '/Contact/list/' + Contact.id, 
       "dataSrc": function(check) { 
        check.id = Contact.id; 
        return json.check; 
        }, 
       }, 
      "responsive": true, 
      "order": [], 
      "columns": [ 
       { "data": "id"}, 
       { "data": "category" }, 
       { "data": "course" }, 
       ] 
     }); 

Categoria e del corso sarà un menu a discesa - e questo deve essere modificare in linea. Di seguito è riportato un esempio di pagina.

Ho bisogno 'Categoria' come un menu a discesa editor di linea e poi ci sarà un pulsante per salvare enter image description here

enter image description here

risposta

13

DataTable rock! E SpryMedia ci ha permesso di giocarci gratuitamente! Non sono sicuro al 100% di aver usato il Plugin Editor nonostante l'acquisto, ma sono contento di aver contribuito al suo sviluppo in qualche modo. Uno dei motivi principali per cui non ho usato il plugin è perché ero troppo skint per permettermelo per un po ', quindi ho scritto le mie versioni e non è poi così difficile. I passaggi sono abbastanza semplici:

  • Detect fare clic su riga (hai già fatto questo)
  • Ottenere i dati dalla riga (non affatto difficile)
  • popolano un modulo con i dati (probabilmente all'interno di un modale)
  • aggiornare il server con i nuovi valori una volta che il modulo viene inviato
  • aggiornare la riga una volta che il server è stato aggiornato

MAK plug-in è tutto così facile e ti permette di capire anche il backend. I passaggi sopra non sono poi così difficili, ma non ho trovato qualcosa che faccia tutto per te tranne il Plug-in Editor. Lavora attraverso i passaggi e ci arriverai.

+0

Potrebbe aiutarmi con alcuni codici: ho usato "rows(). Data()" per ottenere i dati dalla riga. Ma non sono sicuro di come popolare il modulo con questo. Per favore aiuto! – Futuregeek

+2

Certo che posso, stai ricevendo tutti i dati dalla riga che ti serve? Immagino che ci sia un ID univoco all'interno della riga anche per inviare roba al server? Dov'è la tua forma? Dovrebbe essere abbastanza semplice da elaborare un JSFiddle con l'inizio di questo processo. Ti piacerebbe farlo? Vuoi modificare solo un campo o molti? – annoyingmouse

+7

http://jsfiddle.net/annoyingmouse/qd4w6a5o/ – annoyingmouse