1

交換リストを並べ替えたい。外貨の価値に見えます。しかし、お金に見合う価値のある国。変換された値と並べ替え、実際の値を表示します。

変換した値で並べ替えることができませんでした。表示される値の種類でした。計算された値で並べ替える方法。しかし、秘密の値は計算されましたか?

<script id="js">
    var dolar = 1.7849;
    var euro=2.3643;
    var yen=1;
    $(function() {
        $("table").tablesorter({ 
        theme: 'blue' 
        ,headers: {
                0: {
                    sorter: false
                },
                1: {
                    sorter: 'custom_sort_function'
                },
                2: {
                    sorter: false
                }
            }
        });
    });
</script>   

<table class="tablesorter">
    <thead>
        <tr>
            <th>ID</th>
            <th>Money</th>
            <th>Symbol</th>
        </tr>
    </thead>
    <tbody>
        <tr>
            <td>1</td>
            <td>1</td><!-- exchenge value dolar * cellvalue -->
            <td>USD</td>
        </tr>
        <tr>
            <td>2</td>
            <td>1</td><!-- exchenge value euro * cellvalue -->
            <td>EUR</td>
        </tr>
        <tr>
            <td>3</td>
            <td>1YEN</td><!-- exchenge value yen * cellvalue -->
            <td></td>
            <td>TL</td>
        </tr>       
    </tbody>
</table>


Sample View:
Sort Money Field ASC
ID   Money   Symbol
--   ------- ----------
1    1YEN    YEN
2    1USD    USD
3    1EURO   EUR

Sort Money Field Desc
ID   Money   Symbol
--   ------- ----------
3    1EURO   EUR
2    1USD    USD
1    1YEN    YEN
4

1 に答える 1

0

何が必要か正確にはわかりませんが、計算された為替レートでMoney列を並べ替えるこのデモをまとめましたが、何が起こっているのかわからないため、計算された為替レートを追加する行をパーサーに含めましたテーブルセルの値。

HTMLを少し変更しました:

<tbody>
    <tr>
        <td>1</td>
        <td data-value="usd">1</td><!-- exchenge value dolar * cellvalue -->
        <td>USD</td>
    </tr>
    <tr>
        <td>2</td>
        <td data-value="eur">1</td><!-- exchenge value euro * cellvalue -->
        <td>EUR</td>
    </tr>
    <tr>
        <td>3</td>
        <td data-value="yen">1</td><!-- exchenge value yen * cellvalue -->
        <td>YEN</td>
    </tr>       
</tbody>

次に、このコードを使用しました:

// add the exchange rate out here
var exchange = {
    usd : 1.7849,
    eur : 2.3643,
    yen : 1
};

// add parser through the tablesorter addParser method 
$.tablesorter.addParser({ 
  // set a unique id 
  id: 'exchange', 
  is: function(s) { 
    // return false so this parser is not auto detected 
    return false; 
  }, 
  format: function(s, table, cell, cellIndex) { 
    // format your data for normalization
    var $c = $(cell),
        cur = $c.attr('data-value'),
        val = $.tablesorter.formatFloat(s, table) * (cur ? exchange[cur] : 1);
    $c.append(' (' + val.toFixed(2) + ')');
    return val; 
  }, 
  // set type, either numeric or text 
  type: 'numeric' 
}); 

$('table').tablesorter({
    theme : 'blue',
    headers: {
        1: { sorter: "exchange" }
    }
});

計算値をセルに追加したくない場合は、次の行を削除してください。

$c.append(' (' + val.toFixed(2) + ')');

うまくいけば、私はあなたが何を望んでいたかを理解しました。

于 2012-12-23T05:09:23.357 に答える