2013-12-19 73 views
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

沒有列突出顯示 – krishna

+0

你想通過索引值選擇? – rynhe

+0

是的,我想通過索引值進行選擇。 – krishna

回答

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

0

你應該分析文本價值爲int,然後在gt使用它們,lt

Working Fiddle

$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()'中有靜態值,我不在尋找。 – krishna

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;}'如果你想%) – Pinal

相關問題