2011-09-28 1 views
0

가능한 중복 :
jQuery OR Selector?jQuery/Sizzle에 OR 결합자가 있습니까?

내가 일치 세트의 각 select 어느 클래스 placeholder 또는 라인을 따라 빈 값의 무언가를 가지고있는 최초의 option를 찾고 싶습니다

$(selectorOrJquery).find('select').andSelf().filter('select') 
    .find('(option.placeholder OR option[value=""]):first) 

불행히도 유효하지 않습니다. 지글 지글 (또는 CSS3) 구문 - 선택자를 사용하여 유효한 방법이 있는지 누구나 알고 있습니까?

는 분명 내가 나를 위해이를 찾기 위해 절차 적 코드를 작성할 수 있지만, 내가

좀 더 매끄러운 뭔가를 바라고 있어요 편집 : 가 명확히하기 위해 나는 쉼표 간단하게 작동합니다 생각하지 않습니다. 내가 첫 번째 선택, 둘

+0

내가 다시 할 때 이런 식으로 대답 할 것이다. –

+0

오, 소년. 나는 누가 여기에서 가장 유효한 대답을 가지고 있는지를 결정할 수 없다. – jwegner

+0

@ DanielA.White 이것이 처녀의 질서를 유지 하겠는가? 하나의 select가 .placeholder 뒤에 [value = ""]가 올 경우 어떻게됩니까? - 콤마 구문이 둘 다 선택할 것이고 나는 처음에만 일치 할 것입니다. –

답변

1

이 비어 중 하나 또는 클래스의 자리를 가지고있는 선택의 첫 번째 옵션을 반환하려면이 경우 다음

<select> 
    <option class="placeholder" value="0">Select Something</option> 
    <option value="">Legitimate option that gets handled in JS</value> 
</select> 

을 상상해보십시오.

$("select option:first").filter(":empty,.placeholder") 
1

올바른 CSS/jQuery 선택기 인 쉼표 만 사용하십시오.

$(selectorOrJquery).find('select').andSelf().filter('select') 
    .find('(option.placeholder, option[value=""]):first) 
4

나는 또한 이와 같은 문제를 겪었으며 다음과 같이 해결했습니다.

$(selectorOrJquery).find('select').andSelf().filter('select') 
    .find('option.placeholder, option[value=""]').eq(0); 
+0

그래, 선택 요소가 여러 개 있다면 어떨까요? 각각을 사용해야 함 –

+0

eq (0)은 단일 요소를 선택합니다. –

1

는 CSS 또는 쉼표, 그래서 당신이 원하는 선택은

'option.placeholder:first, option[value=""]:first' 
+0

편집을 참조하십시오 –

+0

@ John Kalberer의 답변이 귀하의 사례를 해결하는 것입니다. – Einacio

관련 문제