1UnitedPower: Frage zum jquery plugin jqgrid data-tag mit Wert belegen

Beitrag lesen

Hakuna matata!

So ganz verstehe ich dich immer noch nicht, aber ich wills nochmal versuchen:

Ich suchte ursprünglich eine Möglichkeit auf einen bestimmten key des json-strings zuzugreifen und im zweiten step suchte ich eine Möglichkeit den wert des bestimmten keys dann in ein data-attribut in jede Zeile zu speichern

Angenommen dein JSON-Objekt hat folgende (vereinfachte Struktur):

{  
   rows : [  
      {  
         "data-group" : 1  
      },  
      {  
         "data-group" : 2  
      },  
      {  
         "data-group" : 1  
      }  
   ]  
}  

Frickeln wir die beiden Beispiele, die ich dir schon gebastelt habe, doch mal zusammen:

  
// Wir lauschen auf das jqGridLoadComplete-Event, das ist der Zeitpunkt an dem wir Zugriff auf das JSON-Objekt erhalten können  
$('table').on('jqGridLoadComplete', function ( data ) {  
   var $this = $(this);  
   // data ist eine Referenz auf das JSON-Objekt, wir wollen aber über die Zeilen itereieren  
   data.rows.forEach( function ( row, i ) {  
      // in jeder i-ten Tabellenzeile wollen wir die data-group-Eigenschaft der aktuellen JSON-Zeile speichern  
      $this.find('tr').eq(i).data('group', row['data-group']);  
   });  
});

Hier passiert  also folgendes:
Wenn eine Antwort auf einen Ajax-Request eintrifft, werden alle Zeilen in dem JSON-Objekt (data.rows) iteriert und für jeden Eintrag wird ein data-Attribut an der korrespondierenden Tabellenzeile gesetzt. Inwiefern unterscheidet sich das jetzt noch von deiner Vorstellung?

damit ich dann im 3 step bei klick auf die Zeile diesen wert wieder auslesen kann

Klingt für mich ziemlich umständlich, wieso der Umweg über das data-Attribut? Wie auch immer:

$('tr').click( function(){  
   var dataGroup = $(this).data('group');  
});

PS: jQuerys $().data() setzt nicht wirklich ein data-Attribut, sondern benutzt einen eigenen internen Speicher. Wenn du unbedingt ein data-Attribut brauchst, dann kannst du mit $().attr('data-group', row['data-group']) bzw. $().attr('data-group') arbeiten.

--
“All right, then, I'll go to hell.” – Huck Finn