2017-05-15 5 views
0

テーブルの列を並べ替える機能はFirefoxではうまく機能しますが、Firefoxでのみ機能します。私はSafari、IE11、MS Edgeなどをテストしました。jQueryテーブルの並べ替えはFireFoxでのみ機能します

誰かが私を助け、自分のコードで何が間違っているか教えてもらえますか?

ブラウザコンソールは任意のJavaScriptエラーが表示されない...

$(".sortable").click(function() 
    { 
     var order = ($(this).hasClass("asc") ? 'desc' : 'asc'); 
     var table_id = $(this).closest("table").attr('id'); 
     var column_id = $(this).attr('id'); 

     if(table_id != null && column_id != null) 
     { 
      $.post("test.php", { site: getUrlVars("site"), table: $(this).closest("table").attr('id'), column: $(this).attr('id'), sort: order }); 
     } 

     $(this).closest("table").find(".sortable").removeClass("asc").removeClass("desc"); 
     $(this).addClass(order); 

     var colIndex = $(this).prevAll().length; 
     var tbod = $(this).closest("table").find("tbody"); 
     var rows = tbod.find("tr"); 

     rows.sort(function(a,b) 
     { 
      var A = $(a).find("td").eq(colIndex).text(); 
      var B = $(b).find("td").eq(colIndex).text(); 

      if (!isNaN(A)) A = Number(A); 
      if (!isNaN(B)) B = Number(B); 

      return (order == "asc" ? A > B : B > A); 
     }); 

     $.each(rows, function(index, ele) 
     { 
      tbod.append(ele); 
     }); 
    }); 
+0

間違っているところ私は知らないが、DOMは同じ値を与えていないどちら見つけるために、2つのブラウザ、にconsole.log各要素間で完全に同じではないことができ – MacBooc

+0

同様に見える、http://stackoverflow.com/questions/38708828/jquery-table-sort-code-only-working-in-mozilla-firefox –

+0

何が起こっているかを見るためにデバッガを使用する –

答えて

0

@parladのneupane

はい、それは私の問題を解決しました。ありがとう!

// old 
 

 
return (order == "asc" ? A > B : B > A); 
 

 
// new 
 

 
return (order == "asc" ? (A < B ? -1 : B < A ? 1 : 0) : (A > B ? -1 : B > A ? 1 : 0));

関連する問題