2
我想用JQuery创建一个可过滤的表。我的JQuery选择器适用于我的INPUT元素,但不适用于我的SELECT元素,我不明白为什么 - 它们使用相同的逻辑。JQuery Selector对SELECT元素过度挑剔
这里的想法是我们在表格的顶部观察输入过滤字段。一旦我们看到该输入,我们就会选择该列中不包含过滤器字段中键入的数据并将其隐藏的行。
function FilterEverything() {
$("TR").show();
if ($("#NumbersFilter").val()) {
$("input.NumbersData:not([value*='" + $("#NumbersFilter").val() + "' i])").parent().parent().hide();
}
if ($("#LettersFilter").val()) {
$("input.LettersData:not([value*='" + $("#LettersFilter").val() + "' i])").parent().parent().hide();
}
if ($("#ColorsFilter").val()) {
$("select.ColorsData:not([value*='" + $("#ColorsFilter").val() + "' i])").parent().parent().hide();
}
$("TR.Header").show();
};
$('#NumbersFilter').bind('input propertychange', function() {
FilterEverything();
});
$('#LettersFilter').bind('input propertychange', function() {
FilterEverything();
});
$('#ColorsFilter').bind('input propertychange', function() {
FilterEverything();
});
为什么输入和选择,而不是仅仅的DIV?
还有其他的jquery语句没有包括在这里看着这些领域的变化和更新数据库。
'select'元素与[[value * ='selector]不匹配,因为它没有值。 '选项'具有价值。 select元素确实允许'.val()'属性获取选定的选项值。 – apokryfos