여러 행과 열이있는 테이블을 표시하고 있습니다. 저는 uiTableFilter이라는 JQUERY 플러그인을 사용하고 있습니다.이 플러그인은 사용자가 입력 한 내용을 기반으로 테이블 행을 필터링하고 (표시/숨김) 텍스트 입력을 사용합니다. 필터링 할 열을 지정하면 해당 열에 입력 된 텍스트 필드가있는 행만 표시됩니다. 단순하고 잘 작동합니다.JQUERY를 사용하여 여러 폼 입력을 사용하여 테이블 행을 동적으로 필터링하는 방법
결과를 더욱 좁히는 데 도움이되는 두 번째 텍스트 입력 필드를 추가하고 싶습니다. 예를 들어 PETS 테이블이 있고 한 열이 petType이고 한 개가 petColor 인 경우 - 첫 번째 텍스트 필드에 고양이를 입력하여 모든 고양이를 표시 한 다음 두 번째 텍스트 필드에 검정색, 결과 테이블에는 BLACK CATS가있는 행만 표시됩니다. 기본적으로 하위 집합입니다. 여기
가 JQUERY I가 사용하고있다 : I는 하나 개의 필터를 사용할 수$("#typeFilter").live('keyup', function() {
if ($(this).val().length > 2 || $(this).val().length == 0)
{
var newTable = $('#pets');
$.uiTableFilter(theTable, this.value, "petType");
}
}) // end typefilter
$("#colorFilter").live('keyup', function() {
if ($(this).val().length > 2 || $(this).val().length == 0)
{
var newTable = $('#pets');
$.uiTableFilter(newTable, this.value, "petColor");
}
}) // end colorfilter
문제는, 그것이 테이블 행의 적절한 서브 세트를 표시하지만 다른 필터에 대한 입력을 제공 할 때, 이전 열에서 남아있는 보이는 표 행을 인식하지 못하는 대신 원래 표의 완전히 새로운 필터링을 수행하는 것처럼 보입니다. 하나의 필터를 적용한 후 10 개의 행이 반환되면 두 번째 필터는 그 중 10 개의 행에만 적용되어야합니다. 나는 살고 바인딩을 시도했지만 작동하지 않습니다.
누군가 내가 잘못 가고있는 부분에 대해 밝힐 수 있습니까? 감사!
와우, 무, 이거 엄청나 네. 바이올린에 코드를 시도했는데 제대로 작동하므로 거기에서 수정합니다. 감사합니다. – tresstylez
이 코드는 사용자가 "형식"또는 "색"으로 무엇을 입력했는지 여부를 결정하는 데 어떻게 작용할 수 있습니까? –
@indiehacker : 한번에 여러 장소를 확인하기 위해'f (text.toLowerCase() .fi.') 부분을 변경해야 할 것입니다. 그러나 완전히 새로운 질문이 될 것입니다. –