Problem in footable beim hinzufügen dynamischer Daten
Ich brauche ein wenig Hilfe bei jQuery Mobile Foo Tabelle.
Ich füge die Daten dynamisch in eine Tabelle.
HTML:
<table id="tblSRNDetails" class="footable">
<thead>
<tr>
<th data-class="expand">SRN</th>
<th >Failure Date</th>
<th >Complaint Report Date</th>
<th>Promised Date</th>
<th >Customer Name</th>
<th >Log Time</th>
<th >Create FSR</th>
<th data-hide="phone,tablet">Days Open</th>
<th data-hide="phone,tablet">SRN Allocated Time</th>
<th data-hide="phone,tablet"> SRN Status</th>
<th data-hide="phone,tablet"> ESN Number</th>
<th data-hide="phone,tablet"> Request Type</th>
<th data-hide="phone,tablet">Service Request Details</th>
</tr>
</thead>
<tbody>
</tbody>
</table>
js-code:
$("#page-id").live('pagebeforeshow', function() {
console.log("Page before show");
$("#tblSRNDetails > tbody tr").remove();
for (var indx = 0; indx < 2; indx++ )
{
$("#tblSRNDetails > tbody").append("<tr>"+
"<td>Name</td>"+
"<td>failureDate</td>"+
"<td>complaintReportDate</td>"+
"<td>promisedDate</td>"+
"<td>custName</td>"+
"<td><a href='#'><b>Log Time</b></a></td>"+
"<td><b>Create FSR</b></td>"+
"<td>daysOpen</td>"+
"<td>allocatedTime</td>"+
"<td>srn_status</td>"+
"<td>ESNNumber</td>"+
"<td>requestType</td>"+
"<td>customerComplaint</td>"+
"</tr>");
}
$('#tblSRNDetails').footable();
});
Mit diesem FooTable richtig angewendet wird, wenn geöffnet, zum ersten mal. Wenn ich auf home page-Taste, und gehen Sie zurück, und kommen auf dieser Seite wieder, die FooTable ist nicht korrekt angewendet.
Screenshot:
So Fragen, bin ich zu der Zeit konfrontiert sind:
-
Hidden-Felder angezeigt. (Bedeutet Footable wird nicht angewendet):
Dieses Problem aufgelöst wird und nach änderung der Ausrichtung in Gerät für zweimal. -
Erste Feld beinhaltet nicht die Daten, die Schaltfläche "Erweitern" mehr (Bedeutet Footable wird nicht angewendet):
Ich denke, das Problem ist, denn ich bin das entfernen die alten Zeilen und neue hinzufügen. Ich habe versucht, ohne entfernen nennen. Damals, die alten Zeilen wurden korrekt angezeigt wird. Neu angehängt, die Felder wurden Probleme, wie gezeigt in der Abbildung.
Kann mir jemand helfen mit diesem?
P. S: ich bin was diese in der android webview. Und das gleiche problem ist reproduziert im browser, zu.
- Kann ich wissen, die Grund downvote, bitte? Ich habe versucht mein bestes für die Suche auf google vor der Veröffentlichung als eine Frage
- Welche version von jquery eine JQM verwenden Sie?
.live
abgeschrieben und ersetzt mit.on
. Auch, versuchen Sie, diese nach dem Anhängen der Elemente$('[data-role=page]').trigger('create')
. - jQM-version 1.2.0.
.on
hat nicht funktioniert. Und ich habe versucht, das hinzufügen$('[data-role=page]').trigger('create')
nach dem anfügen von Daten. Aber das machte nichts ändern. .on
arbeiten sollten, wenn Sie mit jquery 1.8.3 und oben. Haben Sie Hinzugefügttrigger('create')
nach$('#tblSRNDetails').footable();
? Versuchenrefresh
oderpagecreate
stattcreate
.- Ja, @Omar . Ich fügte hinzu, trigger nach
$('#tblSRNDetails').footable();
Und versuchen, zu aktualisieren und pagecreate beide. Immer noch die gleiche Ausgabe. Gibt es eine Möglichkeit zu entfernen footable / erfrischend es?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Foo Tabelle wurde als ein jQuery-plugin, und als solche war nie beabsichtigt, die Arbeit mit jQuery Mobile. Es ist einfach nur ein plugin nicht richtig funktioniert mit jQuery mobile. Foo Tabelle nicht wissen, wie man mit jQuery Mobile-Seite wechseln.
Einzige Weg, können Sie damit es funktioniert, ist, wenn Sie dynamisch erstellen ganze Tabelle, jedes mal, wenn Sie diese Seite besuchen. In jedem anderen Fall Foo Tabelle wird nicht funktionieren, weil die Seite ist schon da, mit erweiterten Tabellen-markup-Code. Das ist, warum jeder jQuery-Mobile-widget hat eine Funktion mit einer Aktualisierung-Eigenschaft.
Hier ist ein funktionierendes Beispiel: http://jsfiddle.net/Gajotres/PjmEL/
Eine Letzte Sache, wenn dies nicht eine gute Lösung für Sie sollten Sie wechseln, um jQuery Mobile Umsetzung von dynamische Tabelle.
Ich hatte das gleiche Problem in meiner Webanwendung habe ich diese in datatables.net auf den Rückruf habe ich Hinzugefügt redraw-Funktion von footable-und es funktioniert bestens.
'Footable' arbeitet mit 'jQuery Mobile'. Ich werde erklären, die seine Verwendung mit meinem code-Schnipsel.
Footable Initialisierung,
Bin ich mithilfe von jQuery-AJAX-Aufruf, um neue Tabelle-Daten und fügen Sie Sie der Tabelle mit templating-Methode. Ich bin mit handlebars.js für das templating. (Denken Sie daran, diese Template-Methode ist nicht zwingend erforderlich. Sie können Ihre eigenen Methoden, um neue Zeilen angefügt, um Ihren Tisch).
So, nachdem Sie aktualisiert haben neue Daten in die Tabelle, die Sie auslösen müssen footable für die re-Initialisierung. Hier ist der code-snippet,
Alle Trigger sind hier nicht notwendig. Überprüfen und bestätigen Sie den Aufruf auslöst, ist gerade genug für Sie, da Sie nach dem Punkt, den Sie haben, mit re-Initialisierung/Neuzeichnen/Größenänderung.
Das ist es, werden Sie nicht ein problem mit footable mit jQuery Mobile jetzt.
WICHTIG: Allerdings müssen Sie vorsichtig sein, während der Aufruf updateFootable(), wenn das div-Element mit der Tabelle, oder die Seite mit der Tabelle ausgeblendet ist, dann wird die Tabelle nicht dementsprechend geändert. Sie müssen sicherstellen, dass die Tabelle sichtbar ist, wenn Sie anrufen, um Ihre update.
Links:
Hier ist die doc für footable-Trigger - http://fooplugins.com/footable/demos/triggers.htm#docs
Stellen Sie sicher zu gehen über footable docs -
http://fooplugins.com/footable-demos/