用于Golf Scores的TableSorter jQuery插件排序

时间:2013-07-15 18:04:49

标签: jquery tablesorter

我阅读了有关为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>

1 个答案:

答案 0 :(得分:1)

您应该返回一个数字而不是文本,尝试将格式函数更改为:

format: function(s) { 
    // Any letters will return as zero
    return parseFloat(s) || 0; 
},