2017-08-11 15 views
1

データの属性値に基づいて短絡しています。私の既存のコードはFirefox上で正常に動作していますが、Chromeブラウザでは動作しません。あなたが上昇し、同様に負の値を使用して降順ソートに対称的結果を返す必要がJqueryソート機能がChromeブラウザで動作しません

$('select#shorting-job').change(function(e) { 
      var $list = $('.adsence-right'); 
      var $productList = $('div.show-jobs-in-right',$list); 
      $productList.sort(function(a, b){ 
       var keyA = $(a).attr("data-salary"); 
       var keyB = $(b).attr("data-salary"); 
       if($('#shorting-job').val()=='Salary'){ 
        return false; 
       }else if($('#shorting-job').val()=='asc'){ 
        return (parseInt(keyA) > parseInt(keyB)) ? 1 : 0; 
       } else { 
        return (parseInt(keyA) < parseInt(keyB)) ? 1 : 0; 
       } 
      }); 
      $.each($productList, function(index, row){ 
       $list.append(row); 
      }); 
      e.preventDefault(); 
    }); 

答えて

1

は、ここに私のコードです。

あなたが持っている値を使用して、そのデルタを返すことができます。

return keyA - keyB; 

は、降順の場合、あなたは値があるため、マイナス記号と番号にimplicid鋳物を使用しての数に変換され、両方のケースでsubstraction

return keyB - keyA; 

の順序を逆にすることがあります。

異なるブラウザで異なる結果を得る主な理由は、順序が実際と異なる場合、Array#sortが安定していないため、結果が不安定になる可能性があるということです。

関連する問題