2015-08-06 8 views
12

ich für Datentabelle 'Editor' Plugin und im Anschluss wurde der Code:Datentabelle Inline-Editing ohne Editor-Plugin

Editor Datentabelle definiert als:

 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 }); 
      }); 

Anfügen der Seite mit diesem: Wenn wir auf Kategorie klicken, wird ein Dropdown zur Bearbeitung angezeigt (mit Editor-Plugin).

Aber das Problem ist Editor-Plugin Datatables ist nicht opensource und mein Projekt erlaubt kein zahlbares Plugin überhaupt.

Kann mir bitte jemand helfen für die Inline-Bearbeitung in Datatables mit 'Editor' Plugin?

Es folgt der Code, den ich ohne Redakteur schrieb:

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" }, 
       ] 
     }); 

Kategorie und Kurs ein Drop-Down wird - und dies hat bearbeiten inline sein. Unten sehen Sie ein Seitenbeispiel.

ich brauche 'Kategorie' als Drop-Down-Inline-Editor und dann wird es eine Taste sein enter image description here

enter image description here

Antwort

13

Datentabellen Rock zu retten! Und mit SpryMedia können wir kostenlos damit spielen! Ich bin nicht 100% sicher, dass ich das Editor-Plugin trotz Kauf verwendet habe, aber ich bin froh, dass ich in gewisser Weise zu seiner Entwicklung beigetragen habe. Einer der Hauptgründe, warum ich das Plugin nicht benutzt habe, ist, dass ich zu skint war, um es mir für eine Weile zu leisten, also schrieb ich meine eigenen Versionen und das ist wirklich nicht so schwierig. Die Schritte sind ganz einfach:

  • auf Zeile Detect klicken (Sie haben dies bereits getan)
  • die Daten aus der Reihe Holt (nicht schwer)
  • Bestücken Sie ein Formular mit diesen Daten (wahrscheinlich innerhalb eines modal)
  • Aktualisieren Sie den Server mit den neuen Werten, sobald das Formular
  • Aktualisieren Sie die Zeile, sobald der Server
  • vorgelegt

das Plugin mak wurde aktualisiert Es ist so einfach und Sie können auch das Backend herausfinden. Die oben genannten Schritte sind nicht allzu schwierig, aber ich habe nichts gefunden, das alles für Sie außer dem Editor-Plugin tut. Arbeite durch die Stufen und du kommst dorthin.

+0

Könnten Sie mir bitte mit einigen Codes helfen - ich habe 'rows(). Data()' verwendet, um Daten aus der Zeile abzurufen. Aber nicht sicher, wie man das Formular damit füllt. Bitte helfen Sie! – Futuregeek

+2

Natürlich kann ich, erhalten Sie alle Daten aus der Reihe, die Sie brauchen? Ich nehme an, dass es eine eindeutige ID in der Reihe gibt, um Daten an den Server zurückzusenden? Wo wird dein Formular sein? Es sollte einfach genug sein, um ein JSFiddle mit dem Start dieses Prozesses zu bearbeiten. Möchten Sie das tun? Möchten Sie nur ein oder mehrere Felder bearbeiten? – annoyingmouse

+7

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