2013-08-22 1 views
5

내가 폼에 입력 세트가 있다고 가정하자 숨겨진 :(그러나 한 가지 예외)

<form id="myform"> 
    <input type="checkbox" id="goat_1"> 
    <input type="checkbox" id="goat_2"> 
    <input type="text" id="pig_3"> 
    <input type="hidden" id="cow_1"> 
    <input type="hidden" id="chick_3"> 
    <input type="hidden" id="duck_5"> 
</form> 

내가 type="hidden" 제외한 모든 입력을 선택하기를 원하지만 한 가지 예외 내가 원하는 마십시오 ID가 "duck"로 시작하는 모든 숨겨진 입력. 하나의 배열에이 모든 것이 필요하므로 그것을 반복 할 수 있습니다.

그래서 처음 두 부분은 쉽게 : 예외에 대한

$("#myform").find(":input").not("[type=hidden]").each(
              function() { alert("do stuff"); }) 

그러나?

나는 이것을 수행하는 가장 깨끗한 방법을 원합니다 (한 줄/문장 선호).

답변

7

이 가고,

$("#myform").find(":input").not("[type=hidden]:not([id^='duck'])").each(function() { 
    alert("do stuff"); 
}); 
+0

+1보십시오! – vee

0

이 시도 :

$('#myform > input').not(':hidden:not([id^=duck])').each(function (i, e) { 
    alert('This is my id: ' + e.id); 
}); 

fiddle 예 작업.

관련 문제