Jquery に小さな問題があります。カートの「アイテム」をフィルタリングしたいのですが、このコードは実際にはフィルタリングしますが、「li」のみを表示し、子アイテムは表示しません。つまり、すべてを非表示にして、実際の要素のみを表示します。
「子」要素を隠さずにフィルタリングしたいのですが、
<div class="section_wrapper">
<ul id="prod_list">
<li>
<a href="#" >
<div>
<h5>Asus Crossfire MotherBoard LGA 775</h5>
<div>
<ul>
<li>64 bits</li>
<li>Super</li>
</ul>
</div>
</div>
</a>
</li>
Jquery コード:
function search_filter() {
$('#busqueda').click(function() {
if ($(this).val() == "Buscar...") {
$(this).val("");
}
}).blur(function() {
if ($(this).val() == "") {
$(this).val("Buscar...");
}
}).on('input', function() {
busca = $(this).val();
$("#prod_list li").each(function() {
var elem = $(this).children('a');
var reg = new RegExp(busca, "i");
if (reg.test(elem.text())) {
if ($(this).is(':hidden')) {
$(this).fadeIn('fast').css("display", "block");
}
} else {
$(this).fadeOut('fast');
}
});
});
}