jquery filter & map & join


 
 
 
 
 


$("input:visible").length;

가끔식 hidden 필드를 걸러네고 필터링 해야될때 쓰는 방법



 
 
 
 
 



$("input:visible").filter(function()){  // input 중에 보여주고 있는것만 가져오기
   return ($(this).val() == "")         // 벨류값이 빈값인지 아닌지 확인한다
}).length                               // 사이즈 크기 확인


벨류값이 없는갑만 필터 해서 리스트 가져오기


 
 
 
 
 



$("input:visible").filter(function(){     
   return $(this).val() != "";
  }).map(function(){
   return $(this).val();
  }).get().join(",")



결과값 [a,b,e] 빈값을 가져오려면 반대로 하면된다.

여러가지 종류의 엘리멘트 값들을 조합해서 빼오기 편하다




 
 
 
 
 




var ary =  $("input:visible").filter(function(){     
   return  ($(this).val() == "")
  }).map(function(){
   return this;
  }).get().join(",")


$(ary).each(function(){
var title = $(this).attr("title");

alert(title+"을 입력하세요");

$(this).focus();

return false;
});


이런방식으로 벨리데이션 체크가 가능 하다. 




필터를 굳이 사용할 필요가 없는 경우에는



$("input").is(":visible")

$("input").not(":visible")

이런 방법도 있다.






참고 : http://api.jquery.com/filter/