2017-01-07 6 views
-1

上のdivベースを検索:は動的に私は以下のようなHTMLを持っている入力値

<input type='search' name='con_msg_srch' placeholder='Search Contact'/> 
<div class='contactlist'> 
    <span class='_webnn'>James Oduro</span> 
</div> 
<div class='contactlist'> 
    <span class='_webnn'>John Doe</span> 
</div> 
<div class='contactlist'> 
    <span class='_webnn'>Opoku Elvis</span> 
</div> 

私はそのinnerHTMLのそのスパンの子供たちのの値と一致するcontactlist接触内の特定の連絡先を検索する機能を書かれています検索入力。

どのように私は次の操作を実行するためにのRegExpを変更することができます。

  1. AA-ZZ
  2. から
  3. を大文字と小文字の区別を一致させることできる検索入力
  4. の値の間に二重の空白を交換してくださいユーザがファーストネームまたはファーストネームを入力した場合に一致する必要があります

私は本当にRegExpression thats wで多くの知識を持っていませんHY私は

jQueryのを助ける必要があります。

$('input[name="con_msg_srch"]').keyup(function(){ 
    var value = $.trim($(this).val()); 
    var exp = new RegExp('^' + value, 'i'); 

    $('.contactlist').each(function() { 
     var isMatch = exp.test($('._webnn', this).text()); 
     $(this).toggle(isMatch); 
    }); 

}); 

ありがとうございました。

+0

私は本当になぜローカル検索のこの種のことをしている理由キーセットthatsの私の実際のプロジェクトのcuxは連絡先リストの多くを返す午前 –

+1

ちょうどを検索する要求を送信したいですか? ''^''を削除してください – charlietfl

答えて

0

これを試してください。

$('input[name="con_msg_srch"]').keyup(function(){ 
    var value = $.trim($(this).val()); 
    var value = value.replace(/ +/g, ' ') 
    var exp = new RegExp(value, 'i'); 

    $('.contactlist').each(function() { 
     var isMatch = exp.test($('._webnn', this).text()); 
     $(this).toggle(isMatch); 
    }); 

}); 
+0

ありがとう。本当に簡単な解決 –

0

また、スパンのinnerTextを次のように属性の値としてスパンに配置する必要があります。

HTMLコンテンツに基づいて検索する代わりに、「データ」属性の値に基づいてスパンを検索できるようになりました。これにより、検索ロジックが簡素化されます。

属性名「data」は必須ではありません。 HTMLタグの任意の名前で属性を作成できます。

私はこれがあなたの問題の解決に役立つことを願っています。

+0

ええ、確かに私はそうするでしょう。ありがとうございました –

関連する問題