Situation: Meine App führt eine AJAX-Anforderung aus und die empfangenen Daten werden im folgenden JQgrid angezeigt. listData(data)
ist eine Funktion, die in success
Rückruf dieser Ajax-Anforderung aufgerufen wirdOnclick Ereignis des Knopfes in jeder Reihe gesetzt jqgrid nicht feuernd?
data
ist die JSON-Daten von Anfrage erhalten.
buildJqGrid
ist eine benutzerdefinierte Funktion, die die .jqgrid()
auf einer Tabelle und einem div HTML-Element aufruft.
buttonFormatter
ist meine benutzerdefinierten Formatierer für die Spalte mit dem Namen Action
function listData(data) {
var containerName = 'datatablea3',
columnNames = ["Name",
"Email",
"Language",
"Office",
"alter email",
"Action"
],
columnModels = [{
name: 'Name',
index: 'Name',
width: '200px'
},{
name: 'Email',
index: 'Email',
width: '200px'
}, {
name: 'Language',
index: 'Language',
width: '200px'
}, {
name: 'Office',
index: 'Office',
width: '200px'
}, {
name: 'AlterEmail',
index: 'AlterEmail',
width: '200px'
}, {
name: 'action',
width: '200px',
formatter: buttonFormatter
}],
sortColumnName = 'Name',
caption = "Employees",
rowNum = 25,
pager = '#pager2a3',
grouping = false,
groupingView = {},
rowList = [25, 50, 100];
buildJqGrid(containerName, data, columnNames, columnModels,
sortColumnName, caption, rowNum, pager, grouping,
groupingView, rowList, true, 'asc');
}
Problem: Wenn dieses jsp ausgeführt Daten erfolgreich in der jqgrid
mit Blick Schaltfläche in jedem Datensatz angezeigt wird, aber wenn ich auf die Schaltfläche view button nichts passiert!
Ich habe in der Konsole überprüft es zeigt "Kontrolle in Formatierer", aber beim Klicken auf Ansicht Schaltfläche zeigt es nicht "Kontrolle in Klick-Funktion".
Ich habe versucht, auch dort editLink
Formatierer, aber immer noch denselben Fehler verwenden,
Kann mir jemand bitte sagen, warum onclick
Ereignis meiner Schaltfläche Brennen nicht wahr?
Ich glaube, Sie somthing wie diese tun müssen ' Ansicht'; –
können Sie ** mehr vollständigen JavaScript-Code **, den Sie verwenden (der Code von 'BuildJqGrid' zum Beispiel)? Welche Version von jqGrid und von welchem Fork von jqGrid verwendest du? ([freies jqGrid] (https://github.com/free-jqgrid/jqGrid), kommerzielles [Guriddo jqGrid JS] (http://guriddo.net/?page_id=103334) oder ein altes jqGrid in Version <= 4.7). Ihr aktueller Code ist sehr dreckig ('width: '200px'' zum Beispiel sollte auf Zahlen fixiert sein:' width: 200'). Binding to Click kann auf andere Weise implementiert werden. Die beste Wahl hängt von dem fork und der Version von jqGrid ab, die Sie verwenden. – Oleg