2017-08-16 4 views
-3

こんにちは私は姓でフィルタリングしたいリストがあります。私はaのアルファベットa〜zのタグを持っています。目標は、ユーザーが文字をクリックした後、リストが姓でフィルタリングされる場合です。したがって、ユーザーが「A」をクリックすると、「A」で始まる姓のリスト項目がすべて表示されます。jQueryを使用して文字列の最後の単語の最初の文字を選択してください

論理を表示/非表示にすると思っていますが、論理を実装するために最後の単語の最初の文字を対象にするのに助けが必要です。

<ul id="theList"> 
    <li><a>John Aoe</a></li> 
    <li><a>John Boe</a></li> 
    <li><a>John Coe</a></li> 
    <li><a>John Doe</a></li> 
</ul> 

任意のアイデア:ここ

は、HTMLマークアップのですか?

ありがとうございます!

答えて

1

私はアラートを使用しましたが、theresが2つの名前である限り、コードは最後の単語の最後の文字を取得します。 lastindexOf行が中間の頭文字を持っている場合は動作します。

var a = "John Aoe".split(" ").pop().charAt(0); 
 
var b = "John Coe".split(" ").pop().charAt(0); 
 
var c ="John Doe".split(" ").pop().charAt(0); 
 
var d ="Max R. Toady" 
 
var e= d.charAt(d.lastIndexOf(" ") + 1) 
 
alert(a +", " + b +", "+ c + ", " + e)

3

あなたはthis answerにacoording、正規表現を使用することができます。

reg = new RegExp(letterchosen+'\w+$'); 
var listwitAlastword = $('li').filter(function() { 
    return this.innerHTML.match(reg); 
    }); 
2

あなたは "李" の上にiterarateことができます。

$("#theList").find("li").each(function(){ 
    var a = $(this).find("a").text().split(" "); 
    console.log(a[a.length-1].charAt(0)) 
}); 

https://jsfiddle.net/k8jjmqL5/

関連する問題