2011-11-07 22 views
0

指数(ABC d ....)过滤数据我有这样根据使用jquery

ABCDE小型要求....

当我点击甲

表数据将只显示名称以A开头的 像 苹果 斧 蚂蚁

(不要说筛选数据库) 我该怎么让行它具有名称以仅

开始感谢ü

+0

请提供一些代码,然后任何一个人都可以回答这个问题 –

回答

1

你可以使用filter -

$("table tr").filter(function() { 
    return $(this).text().substring(0, 1).toLowerCase() != 'a'; 
}).hide(); 

这只会工作,如果“名称”列在表格中的第一列。如果你想寻找一个特定列在表中,你可以做这样的事情 -

$("table tr").filter(function() { 
    return $(this).children('td').eq(0).text().substring(0, 1).toLowerCase() != 'a'; 
}).hide(); 

eq(0)可以改变在您选择的列点。

演示 - http://jsfiddle.net/XHg5v/

+0

是的,它填满我的需求 –

0

工作实例

<script type="text/javascript" src="jquery.min.js"></script> 
<body> 
    <ul id=hd> 
    <li>a</li> 
    <li>all</li> 
    <li>b</li> 
    </ul> 
    <ul id=content> 
<li >apple</li> 
<li >bre</li> 
<li >bbb</li> 
<li >ape</li> 
<li >aman</li> 
<li >bcd</li> 
</ul> 
<script type="text/javascript"> 
<!-- 
$('#hd>li').click(function(){ 
    var key = $(this).text(); 
    if(key == 'all') { 
     $('#content>li').show(); 
     return; 
    } 
    $('#content>li').hide(); 
    $('#content>li:content(^' + key +')').show() 
}) 

$.extend($.expr[':'], { 
    'content': function(elem, i, attr){  
    return(RegExp(attr[3]).test($(elem).text())); 
    } 
}); 

//--> 
</script> 
</body> 

使用jQuery text attribute selector。假设所有数据都以li显示。

0
$('span').click(function(){ 

var letter = $(this).html(); 

$('tr').each(function(){ 

var val = $('this').children('td').val(); 

var first_letter = val.split('')[0]; 

if(first_letter == letter){ 

    $('this').hide(); 

} 
else{ 

    $('this').show(); 
} 
}); 

的细节假设A,B,C,d是在跨度

<span>A</span> 

和一个表行有一个TD