这是我写给achive searchable复选框列表的脚本,但由于某种原因它没有表演请帮忙!
它应该搜索无论情况并且应该删除空行
$(function() {
$('#filter').on('keyup', function() {
alert('h');
var query = this.value;
$('.checkboxLabel').each(function(i, elem) {
if (elem.value.indexOf(query) != -1) {
$(this).closest('label').show();
}else{
$(this).closest('label').hide();
}
});
});
这是小提琴http://jsfiddle.net/xHxWt/
更新:谢谢大家:如果有人需要相同的话,Down是完全正常的小提琴。
答案 0 :(得分:1)
你错过了jQuery插件(你已经发现了)。
此外,label
没有值,您需要使用.text()
。
尝试:
$(function () {
$('#filter').on('keyup', function () {
var query = this.value;
$('.checkboxLabel').each(function (i, elem) {
if ($(this).text().indexOf(query) != -1) {
$(this).show();
$(this).prev(':checkbox').show();
} else {
$(this).hide();
$(this).prev(':checkbox').hide();
}
});
});
});
更新
隐藏/显示checkbox
。
答案 1 :(得分:0)
您可以尝试使用此代码隐藏标签以及复选框
$(function() {
$('#filter').on('keyup', function() {
var query = this.value;
$('.checkboxLabel').each(function(i, elem) {
if ($(this).text().indexOf(query) != -1) {
$(this).closest('label').show();
$(this).prev().show();
} else {
$(this).closest('label').hide();
$(this).prev().hide();
}
});
});
});
还有多个选择或单个插件。您也可以尝试这个。 http://harvesthq.github.io/chosen/