jqgrid showLink
Ich bin mit showlink-Formatierer, um eine Spalte als link. gibt es eine Möglichkeit, die ich anrufen kann eine javascript-Funktion, wenn ich auf die.
Recht jetzt dies ist der code den ich habe
$("#list").jqGrid(
{
url: '..',
datatype: 'json', //We specify that the datatype we will be using will be JSON
colNames:['ID', 'User Name'],
colModel :[
{name:'id',index:'id', width:110, sorttype:"string", formatter: 'showlink', formatoptions:{baseLinkUrl:'index.cfm'}},
...
Möchte ich nicht verwenden, die baselinkUrl. Stattdessen kann ich aufrufen einer Javascript-Funktion bei Klick auf die URL? Auch meine Formular-Daten nicht scheinen, um gepostet zu dem nächsten Bildschirm, wenn ich mit der "showlink' formatter.
InformationsquelleAutor DG3 | 2010-12-08
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie tun dies auf unterschiedliche Weise. Die erste ist die Verwendung von
formatter:'showlink'
in der form wie in der folgenden(siehe meine alte Antwort für details). Dadurch wird das
<a>
link mitwo
rowId
wird die id des entsprechenden grid-Zeile. Innerhalb der benutzerdefinierten globalen FunktionMyBase.GetAndShowUserData
sollten Sie schneiden"?id="
- Präfix aus dem zweiten parameter. So werden Sie in der Lage, Zugriff auf das Netz und Sie werden wissen, die gewählte id.Eine weitere Möglichkeit ist das erstellen Sie eigene custom formatter anstelle der Verwendung von
formatter:'showlink'
.Der größte Nachteil der beiden Ansätze meiner Meinung nach ist die Verwendung von globalen Funktionen. Außerdem habe ich lieber zu Folgen Konzept der unobtrusive JavaScript. So kann ich schlage vor, Sie einen anderen Weg aus meine Antwort auf die trirand forum. Die Idee ist die Verwendung vordefinierter formatter
showlink
mit '#' als der Wert derhref
Attribut und zu verbindlichen derclick
Fall den link in derloadComplete
Funktion:siehe live-demo hier. In der demo wenn man auf den text wie "Physik" in der Tabelle geöffnet wird die url http://en.wikipedia.org/wiki/Physics, die gebaut werden dynamischer. Ich habe eine zusätzliche Warnung zu zeigen, wie decodieren, die information über die Zeilen-id zusätzlich.
AKTUALISIERT: Blick auf den code verbessert (von der performance-Seite)
loadComplete
im eine andere Antwort.Sie herzlich willkommen! Der Ort, in jqgrid Dokumentation, wo
showlink
beschrieben wird: trirand.com/jqgridwiki/... (siehe auch Beispiel auf der gleichen Seite).Ich habe eine Frage, wenn ich zwei Spalten mit hyperlinks, und wollen ein anderes Ergebnis für jeden, ist das möglich?
Ja, es ist möglich. Zum Beispiel, können Sie verschiedene
addParam
Werte in den Spalten. Die Werte werden an die URL angehängt und nach?id=rowId
, so ist Sie in einer Spalte&col=foo
- und zum anderen&col=foo
dann haben Sie den entsprechenden text angehängt?id=rowId
. Starten Sie einfachaddParam
Werte mit einem charachters kann ba eine gute separator, so können Sie leicht schneiden Sie die Informationen innerhalb Ihresclick
event-handler.Ich habe einige komplizierte Szenario hier. Ich habe drei Spalten aus meiner Datenbank Abfragen. Sie sind userid, username und E-Mail. Ich möchte nur die Anzeige Anwender-id und Benutzername, und beide von Ihnen haben hyperlinks. Von deiner Lösung oben habe ich den link für die Benutzer-id angepasst werden, wie ich will. Für Benutzernamen auch ich will ein link, aber mit dem link öffnen sollte meine E-Mail-client, mit dem E-Wert für diese Zeile aus der Datenbank. All dies scheint ein bisschen kompliziert mit jqgrid.
InformationsquelleAutor Oleg