2009-07-31 7 views
1

In meiner struts2 Anwendung habe ich einen Iterator und eine Liste mit Objekten wie -Struts2: Legen Sie Werte in der Bean-Klasse Onclick Checkbox jeder Zeile in der Tabelle

<s:iterator value="listOfObjects"> 
<tr> 
<td><s:property value="item" /></td> 
<td><s:property value="category" /></td> 
<td><s:property value="quantity" /></td> 
<td><s:property value="brand" /></td> 
<td><s:checkbox name="deleteRow" onclick="submit()"/></td> 
</tr> 
</s:iterator> 

Die oben erstellt eine Tabelle mit einer Checkbox in der Endspalte jeder Zeile. Aktivieren Sie jetzt ein beliebiges Kontrollkästchen, um die Werte der entsprechenden Zeile (nur) in meiner Bean-Klasse festzulegen. Ich habe viel ausprobiert, aber ich bekomme Werte von jeder Zeile, eher die Werte von nur dieser bestimmten Zeile, deren Checkbox Benutzer geklickt hat. Ist es möglich. Wenn ja, dann bitte helfen. Danke im Voraus.

Antwort

0

Wenn der Wert des deleteRow-Kontrollkästchens ausreichend ist (basierend auf der toString-Methode Ihres Objekts), sollten Sie in der Lage sein, einfach eine deleteRow -Eigenschaft in Ihrer Action-Klasse mit einer Setter-Methode zu erstellen und auszuwerten.

Ich nehme an, Sie könnten einen Wert Ausdruck auf dem Kontrollkästchen deleteRow, entweder mit der toString() des aktuellen Objekts, oder setzen Sie eine Art formatierte Liste (Komma getrennt oder etwas) der Werte von Hand dort. Wenn Sie dem s: iterator eine ID geben, können Sie dies im Attribut value des Kontrollkästchens s: referenzieren.

+0

Nicht funktioniert. Entweder es setzt die Werte aller Beans-Objekte oder null. Ich muss alle Werte festlegen, die der Zeile entsprechen, deren Kontrollkästchen vom Benutzer aktiviert wurde. – vivmal

Verwandte Themen