我正在使用 jQuery 搜索过滤器,它运行良好。不过,我还需要在输入框中进行搜索和过滤。输入框都是文本类型,我需要像其他表列中的文本一样使用该值。
我创造了一个小提琴,http://jsfiddle.net/ktcle/Jf6q5/ http://jsfiddle.net/ktcle/Jf6q5/
所以在这个小提琴中,如果我输入 Mercedes 那么结果将显示 Mercedes
$("#searchInput").keyup(function () {
var data = this.value.split(" ");
var jo = $("#fbody").find("tr");
if (this.value == "") {
jo.show();
return;
}
jo.hide();
jo.filter(function (i, v) {
var $t = $(this);
var matched = true;
for (var d = 0; d < data.length; ++d) {
if (data[d].match(/^\s*$/)) {
continue;
}
var regex = new RegExp(data[d].toLowerCase());
if ($t.text().toLowerCase().replace("").match(regex) === null) {
matched = false;
}
}
return matched;
})
.show();
});
任何帮助总是感激
我在这个小提琴中编辑了你的脚本:
http://jsfiddle.net/Jf6q5/14/ http://jsfiddle.net/Jf6q5/14/
jo.filter(function (i, v) {
var $t = $(this);
var matched = true;
for (var d = 0; d < data.length; ++d) {
var value = "";
$t.find("td").each(function(){
var _td = $(this);
value += _td.text() + _td.find("input").val();
});
if (data[d].match(/^\s*$/)) {
continue;
}
var regex = new RegExp(data[d].toLowerCase());
if (value.toLowerCase().replace("").match(regex) === null) {
matched = false;
}
}
return matched;
});
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)