@shmdarya

Как сделать сортировку данных в таблице, как числа, а не как строки?

Добрый день, при сортировке таблицы на возрастание/убывание, выходит так
5aafa10631053043020095.png
соответственно, нужно чтобы сортировка была 1,2,3,4,5,6,7... и т.д. по порядку
function sortId(){
	var pretype = $("#pretype_sort").text();
	if(pretype == "" || pretype == "desc"){
		$("#pretype_sort").text("asc");
	}else{
		$("#pretype_sort").text("desc")
	}
	
	
	  var table, rows, switching, i, x, y, shouldSwitch;
		table = document.getElementById("sorting_table");
	  switching = true;
	  while (switching) {
		switching = false;
		rows = table.getElementsByTagName("TR");
		for (i = 1; i < (rows.length - 2); i++) {
		  shouldSwitch = false;
		  x = rows[i].getElementsByTagName("TD")[0];
		  y = rows[i + 1].getElementsByTagName("TD")[0];
		  if(pretype == "" || pretype == "desc"){
			  if (x.innerHTML.toLowerCase() > y.innerHTML.toLowerCase()) {
				shouldSwitch= true;
				break;
			  }
		  }else{
			 if (x.innerHTML.toLowerCase() < y.innerHTML.toLowerCase()) {
				shouldSwitch= true;
				break;
			  }
		  }
		  
		}
		if (shouldSwitch) {
		  rows[i].parentNode.insertBefore(rows[i + 1], rows[i]);
		  switching = true;
		}
	  }
}
  • Вопрос задан
  • 79 просмотров
Пригласить эксперта
Ответы на вопрос 1
Stalker_RED
@Stalker_RED
parseInt()

И вообще, вашу огромную конструкцию можно заменить на sort()
https://jsfiddle.net/zt9xLtz1/1/
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы