Twitter bootstrap Bootstrap 4如何基于数据属性值筛选列表
我在PHP上运行了以下表单Twitter bootstrap Bootstrap 4如何基于数据属性值筛选列表,twitter-bootstrap,bootstrap-4,Twitter Bootstrap,Bootstrap 4,我在PHP上运行了以下表单 <form method="get" id="searchform" action="<?php echo esc_url( home_url( '/' ) ); ?>" role="search"> <label class="assistive-text" for="s"> <?php esc_html_e( 'Search', 'ithub' ); ?>
<form method="get" id="searchform" action="<?php echo esc_url( home_url( '/' ) ); ?>" role="search">
<label class="assistive-text" for="s">
<?php esc_html_e( 'Search', 'ithub' ); ?>
</label>
<div class="input-group">
<input class="field form-control" id="s" name="s" type="text" value="<?php the_search_query(); ?>">
<span class="input-group-append">
<input class="submit btn btn-primary" id="searchsubmit" name="submit" type="submit" ?>">
</span>
</div>
<div class="col-lg-12 ml-auto p-2">
<ul class="list-group" id="myList">
<li class="list-group-item"><a href="#" data-meta="First item, house">First item</a></li>
<li class="list-group-item"><a href="#" data-meta="Second item, car">Second item</a></li>
<li class="list-group-item"><a href="#" data-meta="Third item, garage">Third item</a></li>
<li class="list-group-item"><a href="#" data-meta="Fourth item, yard">Fourth</a></li>
</ul>
</form>
下面是一个使用jQuery的解决方案。我在.data('meta')
上进行筛选,以便能够找到您的示例中的“hou”。如果需要根据锚定本身中的文本进行筛选,可以使用.text()
(取消对以下行的注释)
这是一个现场演示
下面是一个使用jQuery的解决方案。我在.data('meta')
上进行筛选,以便能够找到您的示例中的“hou”。如果需要根据锚定本身中的文本进行筛选,可以使用.text()
(取消对以下行的注释)
这是一个现场演示
以防万一,如果有人不得不使用Bootstrap表单检查输入,我可以提供另一个Jquery选择器
Html(ASP.NET MVC Razor)
万一有人不得不使用Bootstrap表单检查输入,我可以提供另一个Jquery选择器
Html(ASP.NET MVC Razor)
$('#s').on('input',function(e){
let input = $(this).val()
let filter = input.toUpperCase()
$('.list-group .list-group-item').each(function() {
let li = $(this)
let anchor = li.children('a')
// Filter by text
// if(anchor.text().toUpperCase().indexOf(filter) > -1) {
// Filter by meta
if(anchor.data('meta').toUpperCase().indexOf(filter) > -1) {
li.removeClass('d-none')
} else {
li.addClass('d-none')
}
});
});
<input class="form-control py-2 border-right-0 border" maxlength="100" type="search"
value="" id="search-input" name="search-input">
<div class="list-group">
@foreach (var item in Model.Where(x => x.DeviceNodeFaultTypeID == (int)DeviceNodeFaultTypeEnums.General).OrderBy(x => x.Definition))
{
<div class="list-group-item list-group-item-action p-1">
<div class="form-check">
<input class="form-check-input" type="radio" name="faults" id="f-@item.ID" value="@item.ID">
<label class="form-check-label" for="f-@item.ID">
@item.Definition
</label>
</div>
</div>
}
</div>
document.getElementById('search-input').addEventListener('input', function (e) {
let filter = $(this).val();
if (filter.length > 0) {
filter = filter.toUpperCase();
}
$('.list-group .list-group-item').each(function () {
let li = $(this)
let label = li.children('.form-check').children('.form-check-label');
if (label.text().toUpperCase().indexOf(filter) > -1) {
li.removeClass('d-none')
} else {
li.addClass('d-none')
}
});
});