Динамическое отображение строк таблицы
Здравствуйте.
Суть: есть таблица с некоторыми значениями в ячейках. При вводе значения в input, которое =< значения в ячейке нужно отобразить строку с етой ячейкой. Питался реализовать следующим образом: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>Untitled</title> <script language="JavaScript"> function sort_table() { for (i=1; i<7; i++) { if (document.getElementById('filter').value >= document.getElementById('present_' + [i]).value) document.getElementById("row_"+[i]).style.display = ""; else document.getElementById("row_"+[i]).style.display = "none"; } } </script> </head> <body> <table id ="test_table" width="100%" border="1"> <tr id="row_1"><td><input border="0" value="100" id="present_1"></td></tr> <tr id="row_2"><td><input border="0" value="200" id="present_2"></td></tr> <tr id="row_3"><td><input border="0" value="300" id="present_3"></td></tr> <tr id="row_4"><td><input border="0" value="400" id="present_4"></td></tr> <tr id="row_5"><td><input border="0" value="500" id="present_5"></td></tr> <tr id="row_6"><td><input border="0" value="600" id="present_6"></td></tr> </table> <p> <input id="filter" type="Text" onkeyup="sort_table()" value=""> </p> </body> </html> Практически все работает. Но почему-то, для примера, 20 воспринимается как =< 100 (отображается строка с id="row_1"). При вводе 30 - отображается row_1 и row_2, и тд. Помогите пожалуйста понять в чем дело, и как ето исправить. Заранее благодарен. |
идёт сравнение строковых значений поэтому
"20" больше "100" но меньше чем "200" --- отображается 1 строка "30" больше чем "100" и больше чем "200" --- отобразятся 2 строки переведите строки в числа и тогда сравнивайте http://javascript.ru/parseInt |
Большое спасибо! Работает:thanks:
|
Часовой пояс GMT +3, время: 22:15. |