[JS/Jquery] Jeditable icm Datatables: rij id niet naar PHP

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • renevanh
  • Registratie: Juli 2006
  • Laatst online: 23-08 20:02
Ik ben bezig met Jeditable en Datatables, beide Jquery plugins om data in een tabel weer te geven en vervolgens inline te bewerken.
Na heel veel gepuzzel (laat het aan mij over om plugins met slechte documentatie uit te zoeken) werkt het bijna, op het opslaan van de wijzigingen na.

Mijn JSON data wordt door datatables binnengehaald en tot een tabel gebouwd. Dat werkt. De eerste colom (id) heb ik onzichtbaar gemaakt. Gevolg is dat in de code de waarde van dit veld (een id dus) als 'id' attribuut van de <tr> terecht komt. Eigenlijk best wel prima.

Resulterende code per rij is dus:
code:
1
<tr id="1"><td>Naam</td><td>Locatie</td>[...]</tr>


De jquery.dataTables.jeditable plugin zorgt vervolgens voor een functie "makeEditable" die weer een functie sUpdateURL heeft waar de PHP code wordt aangeroepen die de databasebewerking moet doen.
Standaard (zie documentatie op http://code.google.com/p/...es-editable/wiki/EditCell) wordt hier het ID van de <tr> meegegeven en dat is fijn, want dat is het ID uit mijn database waar ik moet wijzigen.
Helaas komt dat ID helemaal niet aan in mijn PHP code ($Id = $_POST['id'] blijft NULL). Andere waardes komen wel netjes aan.

Heeft iemand ervaring met deze constructie en enig idee wat ik fout doe?

Acties:
  • 0 Henk 'm!

  • _Thanatos_
  • Registratie: Januari 2001
  • Laatst online: 05-09 14:39

_Thanatos_

Ja, en kaal

Het eerste wat me opvalt is dat je id een getal is. In HTML (in geen enkele taal eigenlijk, vziw) mag een id niet beginnen met een cijfer.

日本!🎌


Acties:
  • 0 Henk 'm!

  • f.v.b
  • Registratie: Januari 2008
  • Laatst online: 31-07 07:18
Ik heb de handleiding niet gelezen, maar ik vind het niet geheel onlogisch dat als je een kolom "onzichtbaar" maakt, dat deze dan niet te bewerken is en vervolgens niet meekomt in je submit.

Komt de id wel mee als je die kolom niet onzichtbaar maakt? Als het dan wel werkt, dan zou je CSS kunnen gebruiken om de kolom op een andere manier onzichtbaar te maken. De javascript die de submit uitvoert zal zich over het algemeen niets aantrekken van de CSS van een tabelcel.

Don't erase all files?
       [Yes]   [No]


Acties:
  • 0 Henk 'm!

  • renevanh
  • Registratie: Juli 2006
  • Laatst online: 23-08 20:02
_Thanatos_ schreef op vrijdag 13 juli 2012 @ 00:38:
Het eerste wat me opvalt is dat je id een getal is. In HTML (in geen enkele taal eigenlijk, vziw) mag een id niet beginnen met een cijfer.
Dat zou het probleem wel eens kunnen zijn (en dat wist ik niet).

Is dat ff onhandig...

Acties:
  • 0 Henk 'm!

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
renevanh schreef op vrijdag 13 juli 2012 @ 19:25:
[...]


Dat zou het probleem wel eens kunnen zijn (en dat wist ik niet).

Is dat ff onhandig...
Daarom hebben ze data attributen uitgevonden en heeft jQuery een .data() method :) (En die werken ook prima in HTML4 en, AFAIK, zelfs helemaal terug t/m IE6 (en anders toch wel 7)).

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


Acties:
  • 0 Henk 'm!

  • renevanh
  • Registratie: Juli 2006
  • Laatst online: 23-08 20:02
Ik heb er nu een 'c' voor geplakt bij het ophalen van de data uit de database die ik er weer afstrip bij het verwerken. Beetje een knullige workaround maar het werkt voor nu prima.

Andere probleem was dat de data als POST doorkomt en ik uitgerekend bij ID besloten had om $_GET te tikken. Alle andere waardes wel gewoon $_POST...

We zullen maar zeggen dat het laat was gisteren :P

Acties:
  • 0 Henk 'm!

  • Snikker
  • Registratie: Oktober 2001
  • Niet online
Mag ik vragen waarom je voor Datatables met Jeditable hebt gekozen? Ik heb zelf met JqGrid gewerkt en die kan dit allemaal ook (en dat is alles in 1)

Lijflied = CryptoMo - Hodl, Hodl


Acties:
  • 0 Henk 'm!

  • renevanh
  • Registratie: Juli 2006
  • Laatst online: 23-08 20:02
In eerste instantie omdat ik JqGrid niet ken(de) ;)

Maar nu ik het wat uitgebreider bekijk heb ik de indruk dat het wat lastiger is om aan de praat te krijgen zoals ik het wil en de integratie met andere onderdelen die ik gebruik (o.a. JsTree) en configureerbaarheid wat minder lijken. Daarnaast kan ik geen voorbeeld vinden van het 'inline editen' zoals jEditable dat doet, alleen voorbeelden met een aantal buttons waarbij de hele rij editable wordt. Het zal vast wel kunnen, maar ik vind de basiscode aardig complex in vergelijking met dataTables en jEditable. Daar is het volgende namelijk al genoeg voor een basic tabel met inline editing (hoewel er bij mij nog wel wat extra configuratie en AJAX calls in zitten):

code:
1
2
3
$(document).ready(function() {
  $('#table').dataTable().makeEditable();
});
Pagina: 1