我在html中有这段代码:
<form>
<div style="width:530px; height:220px; overflow-y:scroll;">
<div class="people">
<label class="checkbox_1" for="1">
<img src="1.jpg" />
<span>
Jolly Bob Monumir
</span>
</label>
<input type="checkbox" name="people[]" value="1" id="1" />
</div>
<div class="people">
<label class="checkbox_1" for="2">
<img src="2.jpg" />
<span>
Jonathan Monumir
</span>
</label>
<input type="checkbox" name="people[]" value="2" id="4" />
</div>
<div class="people">
<label class="checkbox_1" for="3">
<img src="3.jpg" />
<span>
Misoury Crow
</span>
</label>
<input type="checkbox" name="people[]" value="3" id="3" />
</div>
<div class="people">
<label class="checkbox_1" for="4">
<img src="4.jpg" />
<span>
Michael Crow
</span>
</label>
<input type="checkbox" name="people[]" value="4" class="checkbox_1" id="4" />
</div>
</div>
</form>
页面加载后,应显示整个表单。现在我想要输入框,当我在这个框中输入字母的人名时,它应该自动显示那些包含我输入的字母的名称(带有“人”类的div)。
示例:我输入“Jo”,应该显示与Jolly Bob Monumir和Jonathan Monumir的div,其他应该保持隐藏状态。然后,当我键入“Cro”时,Misoury Crow和Michael Crow应该可见。等等。我怎样才能用jquery做到这一点?提前谢谢
更新: 我找到了它,它就像一个魅力!
$('#search-criteria').on('keyup', function(){
$('div.people').hide();
var txt = $('#search-criteria').val();
$('div.people').each(function(){
if($(this).text().toUpperCase().indexOf(txt.toUpperCase()) != -1){
$(this).show();
}
});
});
答案 0 :(得分:0)
我认为您正在寻找类似autocomplete jqueryui的内容。
答案 1 :(得分:0)
我在您输入的input
字段中添加了:
<input type="text" id="people_name">
和jQuery代码是:
$('input#people_name').on('keyup', function() {
var value = this.value.trim();
if(value.length) {
$('div.people span').filter(function() {
return new RegExp(value, 'i').test($(this).text());
}).closest('div.people').show();
} else $('div.people').hide();
});
<强> DEMO 强>
注意:您可以使用任何自动完成插件。
答案 2 :(得分:0)
更新: 我找到了它,它就像一个魅力!
$('#search-criteria').on('keyup', function(){
$('div.people').hide();
var txt = $('#search-criteria').val();
$('div.people').each(function(){
if($(this).text().toUpperCase().indexOf(txt.toUpperCase()) != -1){
$(this).show();
}
});
});