根据我的理解,您试图突出显示等于所选选项的 td。
var filter = $('select');
filter.change(function () {
var table = $('table');
var rows = $('tr');
var filterValue = $(this).val();
$('tr td').css('color', 'black')
$('tr td').each(function () {
if (filterValue == $(this).text()) { // I have testing for the matches
$(this).css('color', 'red')
}
});
});
这是您必须知道的关键点是迭代td
s使用.each()
这是一个jsFiddle
希望你能理解。
更新:
1)获取被点击的选择的标签名称
var col = $(this).parent().find('label').text();
2)在这里,我使用下面的行获取列号
var colNumber = col.replace("Column ", "")
这将返回正在选择的选择的列号。
3)在这个的帮助下answer
,我找到了一种迭代列的方法。
现在你理解得更深入了。
$("table tr td:nth-child(" + colNumber + ")").each(function () {
if (filterValue == $(this).text()) {
$(this).css('color', 'red');
}
});
对于您的第一条评论,只需触发如下change
事件
$('select').change();