【发布时间】:2021-02-03 14:59:25
【问题描述】:
我有近 10 个带值的复选框。
我想根据复选框的值过滤复选框,但目前我无法
我无法更改 HTML 代码,但我不知道为什么它没有过滤复选框
(function($) {
$(document).ready(function() {
// Options search field
$('#options').before(
'<input id="search" style="display: inline; width:180px;" type="text" />' +
'<span><a href="" onclick="return false;" id="search-clear">X</a></span>'
);
$('#search').keyup(function() {
var valThis = $(this).val().toLowerCase();
$('input[type=checkbox]').each(function() {
//use checkbox val
var text = $(this).val().toLowerCase();
//closest to hide lis
(text.indexOf(valThis) > -1 ) ? $(this).closest('li').show(): $(this).closest('li').hide();
});
});
// Search clear button
$("#search-clear").click(function() {
$("#search").val("");
$('input[type=checkbox]').each(function() {
$(this).closest('li').show();
});
});
});
})(jQuery);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
<div id="options">
<div class="col s12 ">
<label>Server</label>
<div id="id_form-0-server">
<ul>
<li class="">
<label>
<input type="checkbox" name="form-0-server" value="ABC" id="id_form-0-server_0">
<span>ABC-1-2</span>
</label>
</li>
<li class="">
<label>
<input type="checkbox" name="form-0-server" value="EFD" id="id_form-0-server_1">
<span>EFD-1-3</span>
</label>
</li>
<li class="">
<label>
<input type="checkbox" name="form-0-server" value="KIS" id="id_form-0-server_2">
<span>KIS-1-46</span>
</label>
</li>
<li class="">
<label>
<input type="checkbox" name="form-0-server" value="PNJS" id="id_form-0-server_3">
<span>PNJS-1</span>
</label>
</li>
<li class="">
<label>
<input type="checkbox" name="form-0-server" value="PJSGRA" id="id_form-0-server_4">
<span>PJSGRA-1-10</span>
</label>
</li>
<li class="">
<label>
<input type="checkbox" name="form-0-server" value="KLSCV" id="id_form-0-server_5">
<span>KLSCV-1</span>
</label>
</li>
</ul>
</div>
</div>
**
- 编辑:
**
根据 Swati 的说明编辑了代码,但遇到了另一个问题,如果我必须使用跨度值而不是复选框属性值来过滤表怎么办?就像我希望过滤器根据 UI 中显示的值而不是复选框属性值来执行
【问题讨论】: