Здраствуйте, есть код:
Кликните здесь для просмотра всего текста
Javascript |
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
| <html>
<head>
<script type="text/javascript">
var unsort;
function load(){
var tr = document.getElementById("headtr");
for (var i=0, td; (td = tr.getElementsByTagName("td").item(i)); i++)
if (td.getAttribute("sortable")=="0"){
unsort = i;
}
}
function sort(el) {
var col_sort = el.innerHTML;
var tr = el.parentNode;
var table = tr.parentNode;
var arrow, col_sort_num;
for (var i=0, td; (td = tr.getElementsByTagName("td").item(i)); i++) {
if (td.innerHTML == col_sort) {
col_sort_num = i;
if (td.prevsort == "y"){
arrow = td.firstChild;
el.up = Number(!el.up);
}else{
td.prevsort = "y";
arrow = td.insertBefore(document.createElement("span"),td.firstChild);
el.up = 0;
}
arrow.innerHTML = el.up?"↑ ":"↓ ";
}else{
if (td.prevsort == "y"){
td.prevsort = "n";
if (td.firstChild) td.removeChild(td.firstChild);
}
}
}
var a = new Array();
var b = new Array();
for(i=1; i < table.rows.length; i++) {
a[i-1] = new Array();
a[i-1][0]=table.rows[i].getElementsByTagName("td").item(col_sort_num).innerHTML;
a[i-1][1]=table.rows[i];
b[i-1]=table.rows[i].getElementsByTagName("td").item(unsort).innerHTML;
}
a.sort();
if(el.up) a.reverse();
for(i=0; i < a.length; i++){
a[i][1].getElementsByTagName("td").item(unsort).innerHTML=b[i];
table.appendChild(a[i][1]);
}
}
function filter (phrase, _id){
var words = phrase.value.toLowerCase().split(" ");
var table = document.getElementById(_id);
var ele;
for (var r = 1; r < table.rows.length; r++){
ele = table.rows[r].innerHTML.replace(/<[^>]+>/g,"");
var displayStyle = 'none';
for (var i = 0; i < words.length; i++) {
if (ele.toLowerCase().indexOf(words[i])>=0)
displayStyle = '';
else {
displayStyle = 'none';
break;
}
}
table.rows[r].style.display = displayStyle;
}
}
</script>
</head>
<body>
<input name="filt" onkeyup="filter(this, 'filtable')" style="width:350px;" type="text" /><br /><br />
<table id="filtable" class="spc" border="1" cellspacing="2" cellpadding="2" width="98%">
<tr id="headtr" style="background-color:gray">
<td class="thd" onclick="sort(this)">Alphabetic</td>
<td class="thd" onclick="sort(this)">Numeric</td>
<td class="thd" onclick="sort(this)">Date</td>
<td class="thd" sortable="0">Unsortable</td>
</tr>
<tr>
<td>abc</td>
<td>20</td>
<td>2008-11-24</td>
<td>This</td>
</tr>
<tr>
<td>dba</td>
<td>8</td>
<td>2004-03-01</td>
<td>column</td>
</tr>
<tr>
<td>ecd</td>
<td>6</td>
<td>1979-07-23</td>
<td>cannot</td>
</tr>
<tr>
<td>cut</td>
<td>4.2</td>
<td>1492-12-08</td>
<td>be</td>
</tr>
<tr>
<td>001</td>
<td>0</td>
<td>1601-08-13</td>
<td>sorted.</td>
</tr>
<tr>
<td>eof</td>
<td>2</td>
<td>1979-07-23</td>
<td>Never.</td>
</tr>
</table>
<script type="text/javascript">
load()
</script>
</body>
</html> |
|
Нужно добавить множественную сортировку не знаю как подскажите пожалуйста