我尝试使用输入字段搜索项目列表
<ul class="display">
<li title="Pizza Otto">some divs</li>
<li title="Pizza Prono">some divs</li>
<li title="Pizza David">some divs</li>
</ul>
以下代码适用于<li>...</li>
中的字词,我想在其中放置一些div并将标题属性添加到<li>
进行搜索的位置。
$('input[name="q"]').search('.display li', function(on) {
on.all(function(results) {
var size = results ? results.size() : 0
$('#count').text(size + ' results');
});
这里有正确的选择器的任何想法:.search('.display li'
?或者我必须在哪里进行更改?
谢谢,对不起我的英文......
P.S。这是我的第一个问题!
UPDATE:测试是否包含val的函数
function query(selector) {
if (val = this.val()) {
return $(selector + ':contains("' + val + '")');;
} else {
return false;
}
}
答案 0 :(得分:1)
如果您只想突出显示与您的输入值匹配的列表项,您还可以尝试使用.contains()
(如果您想要部分匹配),否则您可以使用Trey提到的属性包含选择器。
可以找到两者的示例,包括不区分大小写的.contains()
here。
答案 1 :(得分:0)
我不熟悉搜索方法......但
var result=$('.display li["title='+$('input[name="q"]').val()+'"]');
会选择你要找的li
我认为@ robin-pyon正在考虑:contains()选择器,.contains()方法实际上是在另一个dom元素中搜索dom元素,如果要搜索的文本包含在LI中你可以用它来选择ui:
var result=$('.display li:contains("'+$('input[name="q"]').val()+'")');