2011-06-11 3 views
1

나는 <a> 태그의 긴 목록을 가지고 있으며이를 통해 필터링하고 싶습니다. 즉, 일치하지 않는 항목을 제거하는 것입니다. 필자는 입력 필드의 텍스트 입력을 기준으로 필터링합니다. 정규식은 분명히 입력 필드와 일치하는 태그 내용을 검색 할 것이지만, 나는 그것을 더 아름답게 만드는 방법을 궁금해하며 적극적으로 구글의 검색 창처럼 목록을 필터링하는 요즘 않습니다. 상상, 키 기능을 정규식 기능을 트리거합니다.증분 정규식 필터링 도구

내가 할 방법을 모르는 부분은 이것이다 :

[input field]ArI[/] 

목록 :

• ArIes 
• ArIstotle 

즉,이 목록 항목의 n 번째 문자를 확인 만드는 방법.

편집

이 내가 지금까지 가지고 있고, 그것이 작동하지 않는 것입니다.

$("input.CardName_Input").keyup(function() { 
    var getPhrase = $(".CardName_Input").val(); 

    new RegExp('^' + getPhrase + '.', 'i'); 

    $("#Results a").each(function() { 
     if (!($(this).val().match(RegExp))) { 
      $(this).addClass("HIDE"); 
     } 
    }) 
}); 
+0

질문이 명확하지 않습니다. **'나는'** 대담하게하려고 했습니까? "태그 목록"이란 무엇을 의미합니까? –

+0

음. [jQuery autocomplete] (http://view.jquery.com/trunk/plugins/autocomplete/demo/)는 어떻습니까? –

답변

1
+0

나는 특수 문자에 대해 걱정하지 않는다. .val()을 .text()로 변경하고 완벽하게 작동했습니다. 감사합니다 무리들! 그리고 제가 기술적으로 스크립트를 제가 사용했던 형태로 모으기 때문에 체크 표시가 나타납니다. –

+0

잘 했어. 나는 체크 표시를 때려 눕히는 것을 의미하지는 않았다. –

2

각 목록 항목 문자열의 시작 부분을 확인해야합니다.

그런 다음 표현식으로 /^Ar./i과 같은 것을 사용할 수 있습니까? 당신이 정규 표현식을 만들 수 귀하의 경우에는

동적 new RegExp('^' + searchString + '.', 'i')

+0

이것은 기본적으로 올바른 생각입니다. –

+0

어떻게 구현하겠습니까? –

+0

이렇게 http://stackoverflow.com/questions/345194/regular-expression-matching-in-jquery/345806#345806'/ ... /'를'RegExp' 객체로 대체하십시오. – flori