2010-07-12 2 views
4

비활성화되었거나 숨겨져 있지 않은 양식으로 첫 번째 입력 필드를 가져 오려고합니다. 라디오 버튼, 선택 및 특정 ID를 제외 할 수 있어야합니다.jQuery : not 및 : first ordering

$("form :input:visible:enabled:first:not('select')"); 

I 제외하면 :

다음 코드는 선택 텍스트 또는 암호 필드 앞에 오는 경우를 제외하고, 완벽하게 작동

내가 원하는하지 ('선택'), 선택은로 반환됩니다 첫 번째 입력 필드 (정확하게, 이렇게 입력 : 거의 모든 양식 요소를 반환). 그러나, : not ('select')를 포함하면 아무 것도 선택되지 않습니다. 어떤 아이디어? 이 질문에

두 번째 부분은 - 나는 체인 확인 가정 : 당신이 :not:first을 교환하는 경우

$("form :input:visible:enabled:first:not('select'):not(#specific_id):not(type[radio])"); 

답변

7

이 작동합니다 : 무산자 그래서 내가 좋아하는 뭔가를 할 수?

`$("form :input:visible:enabled:not('select'):first");` 

당신이 가지고있는 방식대로, 첫 번째 활성화 된 태그를 선택합니다.이 태그는 단지 하나의 세트입니다. 그 중 하나가 선택되면 아무것도 얻지 못합니다. 이 버전에서는 선택 항목이 아닌 모든 항목을 가져오고 다음은 해당 세트의 첫 번째 요소를 취합니다. '하지'선택

+0

감사합니다. - 그 트릭을했습니다! 나는 아침 내내 너를 견디게했다. 너 너 남자 야. ;-) Al –

0

오히려보다이 경우 'type=select' 또는 'type=xxx'을 사용하는 것이 좋을 것이다.

또는 .is() 기능을 사용할 수 있습니다.

2

Tesserex의 답변을 사용하면 여러 가지가 아닌 다른 사용자도 참여할 수 있습니다.

$("form :input:visible:enabled:not('select, :radio, #id, .class'):first"); 

다른 jQuery 태그에서와 마찬가지로 쉼표로 구분하십시오.

+0

감사합니다. - 어떤 이유로 나는 당신이 여러 가지를 사용해야한다고 생각했습니다 : nots ... way cleaner this way! –