I found this example which highlights a row after it has been selected but the problem with it is that it keeps the previous row(s) highlighted after another one has been selected.
Here’s part of the code
JavaScript
x
12
12
1
//js
2
rowClick: function(args) {
3
var $row = this.rowByItem(args.item);
4
5
$row.toggleClass("highlight");
6
},
7
8
//css
9
tr.highlight td.jsgrid-cell {
10
background-color: green;
11
}
12
I can’t find a solution to unhighlight the previously selected row
Advertisement
Answer
You can achieve by this following steps
First on row click you need to get selected row like this
var selectedRow = $("#jsGrid").find('table tr.highlight')
.Then you can use
selectedRow.toggleClass('highlight') or selectedRow.removeClass('highlight')
DEMO
JavaScript
1
53
53
1
$("#jsGrid").jsGrid({
2
width: "100%",
3
height: "auto",
4
paging: false,
5
6
//for loadData method Need to set auto load true
7
autoload: true,
8
9
noDataContent: "Directory is empty",
10
11
controller: {
12
loadData: function(filter) {
13
var data = [{
14
nickname: "Test",
15
email: "t@gmail.com"
16
}, {
17
nickname: "Test 1",
18
email: "t1@gmail.com"
19
}, {
20
nickname: "Test 2",
21
email: "t2@gmail.com"
22
}, {
23
nickname: "Test 3",
24
email: "t3@gmail.com"
25
}];
26
return data;
27
}
28
},
29
30
rowClick: function(args) {
31
var $row = this.rowByItem(args.item),
32
selectedRow = $("#jsGrid").find('table tr.highlight');
33
34
if (selectedRow.length) {
35
selectedRow.toggleClass('highlight');
36
};
37
38
$row.toggleClass("highlight");
39
},
40
41
fields: [{
42
name: "nickname",
43
type: "text",
44
width: 80,
45
title: "Name"
46
}, {
47
name: "email",
48
type: "text",
49
width: 100,
50
title: "Email Address",
51
readOnly: false
52
}]
53
});
JavaScript
1
3
1
tr.highlight td.jsgrid-cell {
2
background-color: green;
3
}
JavaScript
1
7
1
<script src="//ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
2
<link rel="stylesheet" href="//cdnjs.cloudflare.com/ajax/libs/jsgrid/1.5.3/jsgrid.min.css" />
3
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/jsgrid/1.5.3/jsgrid-theme.min.css" />
4
<script type="text/javascript" src="//cdnjs.cloudflare.com/ajax/libs/jsgrid/1.5.3/jsgrid.min.js"></script>
5
6
7
<div id="jsGrid"></div>