Выберите ячейку больше и меньше, чем некоторые динамические значения

0

Я хочу выбрать ячейки, которые больше, чем a и меньше b, где a и b - значения некоторого поля ввода.

Вот мой код:

$a = $("#box1").val();
$b = $("#box2").val();
$("#table tr").each(function(){
$(this).find("td:lt("+$a+"):gt("+$b+")").css("background-color","#FF00FF");
}); 

Но он не выделяет ни одной колонки

  • 0
    столбец не выделен
  • 0
    Вы хотите выбрать значение index ???
Показать ещё 1 комментарий
Теги:
html-table

3 ответа

1
Лучший ответ

Если вы хотите выделить колонку с помощью значения index, вы можете использовать slice

http://api.jquery.com/slice/

$(this).slice(start,end).css("background-color","#FF00FF");

Полный код

$a = $("#box1").val();
$b = $("#box2").val();
$("#table tr").each(function(){
 $(this).find("td").slice($a,$b).css("background-color","#FF00FF");
});

Live Demo

1

Используйте метод slice для выбора из индекса a в b:

var a = $("#box1").val();
var b = $("#box2").val();
$("#table tr").slice(a,b).css("background-color","#FF00FF");
  • 0
    Вы можете добавить проверку, if (a>b) {t = b; b = a; a = t;} else {t = a; a = b; b = t;} если хочешь%)
0

Вы должны разобрать текстовые значения на int, а затем использовать их в gt и lt

Рабочий скрипт

$a = parseInt($("#box1").val());
$b = parseInt($("#box2").val());
$("#table tr").each(function(){
$(this).find("td:lt("+$a+"):gt("+$b+")").css("background-color","#FF00FF");
}); 
  • 0
    Milind, ответ, который вы публикуете, отличается от того, который работает в скрипке, ответ, который вы предоставляете, не работает, у того, кто работает, скрипка имеет статические значения в lt() и gt() которые я не ищу.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню