1

テーブルを並べ替えるためのhtmlとjqueryがあります(非標準の並べ替え(マルチボディ)もあります)。

私のコードはここにあります:http://jsfiddle.net/GuRxj/

ご覧のとおり、価格付きのtd(ロシア語Цена)は昇順で並べ替えられます(ただし、tech-そうではありません!?なぜですか?(これも質問です))...しかし、ご覧のとおり、このtrを価格とともに送信する必要がありますこのtbodyの上部(現在は下部にあります)に、empty-price-trを下部に送信します...これを行う方法は?

jsの一部:

$('.prcol').click(function(e) {
      var $sort = this;
      var $table = $('#articles-table');
      var $rows = $('tbody.analogs_art > tr',$table);
      $rows.sort(function(a, b){
          var keyA = $('td:eq(3)',a).text();
          var keyB = $('td:eq(3)',b).text();
            if (keyA.length > 0 && keyB.length > 0)
            {
              if($($sort).hasClass('asc')){
                  console.log("bbb");
                  return (keyA > keyB) ? 1 : 0;
              } else {
                console.log(keyA+"-"+keyB);
                  return (keyA > keyB) ? 1 : 0;
              }
            }
      });
      $.each($rows, function(index, row){
        //console.log(row);
        $table.append(row);
        //$("table.123").append(row);
      });
      e.preventDefault();
    });
4

1 に答える 1

1

固定デモ http://jsfiddle.net/RwW9q/3/ または http://jsfiddle.net/tcZNH/

残りのコードは理解できるように明確にする必要があります。

よろしくお願い:)いたします。

コード

jQuery(function($) {
    var table = $('table');
    $(document).ready(function() {
        $('.prcol').click(function(e) {
            var $sort = this;
            var $table = $('#articles-table');
            var $rows = $('tbody.analogs_art > tr', $table);
            $rows.sort(function(a, b) {
                var keyA = $('td:eq(3)', a).text().toUpperCase();;
                var keyB = $('td:eq(3)', b).text().toUpperCase();;

                if (keyA.length > 0 && isNaN(parseFloat($('td:eq(3)', b).text()))) return Ascending(keyA, keyB);
            });
            $.each($rows, function(index, row) {
                //console.log(row);
                $table.append(row);
                //$("table.123").append(row);
            });
            e.preventDefault();
        });
    });
});

function Ascending(a, b) {
    if (a > b) return -1;
    if (a < b) return 1;
    return 0;
}​
于 2012-11-14T22:42:30.080 に答える