jqgrid ändern Zelle Wert und bleiben im edit-Modus
Ich bin mit inline-editing in mein raster , ich habe einige Fälle, die ich ändern möchte den Wert einer Zelle in einer Spalte. Ich bin die änderung mit setCell ,und es funktioniert gut. mein problem ist, dass nach dem Wechsel der Zelle Verluste, die es Bearbeiten-Modus, während alle anderen Zellen der Zeile in den edit-Modus. Ich will, dass die Zelle im edit-Modus, nachdem ich es geändert.
für jetzt, was ich getan habe ist die Zeile gespeichert und dann ausgewählt es wieder gemacht und in den edit-Modus - aber ich glaube nicht, dass es eine gute Lösung - gibt es eine Möglichkeit, um in den edit-Modus, während changin es?
Vielen Dank Im Voraus.
- Können Sie uns erklären, warum es erforderlich sein, speichern Sie die enthalten, die von der Zelle in den Bearbeiten-Modus. In der Regel, wenn der Benutzer starten Sie die änderungen in der Zelle kann er auf "Esc", um die änderungen zu verwerfen. Wenn der Benutzer klicken Sie auf die "Enter" werden die änderungen gespeichert, aber in dem Fall wird die Zeile nicht mehr in den Bearbeiten-Modus. Vermutlich verwenden Sie ein anderes Szenario für das speichern der Daten. Wenn Sie erklären, das Szenario beschrieben, und wo in der event-handler verwenden Sie die
setCell
Anruf ich könnte versuchen zu finden eine Lösung für Ihre situation. - werde versuchen zu erklären, meine situation, in mein raster ich habe 2 Zellen, die einer von Ihnen ist ein code und die andere ist eine Beschreibung des Codes. ich habe im code die Zelle " $(elem).blur(function() "im inneren ist es" editoptions:'. in diesem oblur Funktion mache ich einen ajax-call an den server, der gibt mir die Beschreibung - dann, was ich tun möchte, ist die Beschreibung der Zelle mit dem Wert, den ich bekam , und dann weiter Bearbeiten Sie die Zeile, die ich bin - ich will die nächste Zelle zu bekommen focue und weiter Bearbeiten. derzeit wird nur die Beschreibung der Zelle verliert es die Bearbeitung, und ich will halten Sie in den Bearbeiten-Modus, hat u mich verstehen?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn Sie implementieren müssen, um das Verhalten der Abhängigkeit der Zellen, die alle in den Bearbeiten-Modus Sie ändern müssen, um die Zelle enthalten, manuell mit Bezug auf jQuery.html - Funktion zum Beispiel. Wenn der name der Spalte, die Sie ändern möchten hat den Namen "Beschreibung", und verwenden Sie "blur" - Ereignis auf einem anderen "code" - Spalte, dann können Sie dies über den folgenden
Funktioniert der code für die inline-und Formularbearbeitung.
Beispiel, abhängig
<select>
Elemente, die Sie finden können hier.<input type="text" ...
. Wahrscheinlich ist dein code kann einfacher sein und Sie können einfach legen Sie es mit$("#"+rowid+"_description").val("new description text")
rowid
in beiden Tabellen dann Sie einen Fehler gemacht: dierowid
alsid
Attribut für die<tr>
element des Gitters. Es ist nicht erlaubt die Verwendung des gleichenid
Attribute für mehrere Elemente auf der gleichen Seite.$("#grid1").jqGrid('setCell',rowid,colNameOrIndex,data)
zum ändern der Zelle enthalten. In dem Fall, dass keine Zellen aus einem anderen raster wird geändert, weil falsch-id-Auflösung.$.val
,$.html
zum ändern der Wert in der Zelle ist im Bearbeitungsmodus. Es gibt viele Möglichkeiten, das zu ändern, enthält das DOM-element auf der Seite. Wenn Sie die jQuery-Funktionen wie$.val
,$.html
,$.val
,$.text
scheint mir am besten geeignet.Unschärfe wird nicht ausgelöst, wenn Wert geändert und die EINGABETASTE gedrückt wird, sofort und ohne den Wechsel zu einer anderen Zelle. Also besser ist die Verwendung
und verschieben Sie diesen code Unschärfe custom_func wie beschrieben in
jqgrid: wie senden und empfangen von Zeilendaten halten Sie den edit-Modus