我阅读了有关为tablesorter编写自定义解析器的文档。但我无法弄清楚如何让它在高尔夫比赛中正常运作。
我希望得分如下: -11 -10 -9 -8 -7 -1 Ë 1 2 9 10 11
我无法让它像那样工作。有没有人知道如何正确地将它从负2位数字变为1位数到字母E而不是0,并且正数为1位数然后是2位正数?
我试过这个没有成功:
// add parser through the tablesorter addParser method
$.tablesorter.addParser({
// set a unique id
id: 'golfscores',
is: function(s) {
// return false so this parser is not auto detected
return false;
},
format: function(s) {
// format your data for normalization
return s.toLowerCase().replace(/E/,0);
},
// set type, either numeric or text
type: 'numeric'
});
$(document).ready(function() {
// call the tablesorter plugin
$("#myTable").tablesorter({
headers: {0:{sorter:false},1:{sorter:'golfscores'}},
widgets: ['zebra']
});
如果有帮助,表中行的标记如下:
<tr>
<td align="center">
<select name="ddl_slots_11052" class="ddl_slots" id="ddl_slots_11052">
<option value="">-</option>
<option value="1" selected="selected">1</option>
<option value="2" >2</option>
<option value="3" >3</option>
<option value="4" >4</option>
<option value="5" >5</option>
<option value="6" >6</option>
<option value="7" >7</option>
<option value="8" >8</option>
</select></td>
<td align="center">
<strong>-3</strong>
</td>
<td align="left">Larry</td>
<td align="left">Larry</td>
<td align="left">Mize</td>
<td align="center">
F
</td>
<td align="center">-3</td>
</tr>
<input type="hidden" name="score_11052" value="-3" />
<tr>
<td align="center">
<select name="ddl_slots_10981" class="ddl_slots" id="ddl_slots_10981">
<option value="">-</option>
<option value="1" >1</option>
<option value="2" selected="selected">2</option>
<option value="3" >3</option>
<option value="4" >4</option>
<option value="5" >5</option>
<option value="6" >6</option>
<option value="7" >7</option>
<option value="8" >8</option>
</select></td>
<td align="center">
<strong>2</strong>
</td>
<td align="left">Jerry</td>
<td align="left">Jerry</td>
<td align="left">Pate</td>
<td align="center">
F
</td>
<td align="center">2</td>
</tr>
答案 0 :(得分:1)
您应该返回一个数字而不是文本,尝试将格式函数更改为:
format: function(s) {
// Any letters will return as zero
return parseFloat(s) || 0;
},