2015-01-15 2 views
0

나는 JQuery를 사용하여 형제의 첫 번째 옵션을 어떻게 참조합니까?

<select name="country1" class="country">...</select> 
<select name="state1" class="state">...</select> 

이름

(예 : "COUNTRY1"... "countryn")를 변경할 것입니다 ... 그래서 같은 SELECT 메뉴 요소를 형제,하지만 클래스는 (요소로 예를 들어, "국가"를 연관 "주")는 그렇지 않습니다. 내 자바 스크립트에서, 나는 국가 요소, $ (countryElt)가 주어진 ...

var firstOption = $("#state option:first-child"); 

을이 줄을 다시하고 싶은, 내가 말할 형제 ".STATE"의 첫 번째 옵션을 저장할 $ (countryElt)의 요소 어떻게 쓸 수 있습니까?

var stateFirstOption = $("#state option:first"); 
var countryFirstOption = $stateFirstOption.parent().siblings('.country').find('option:first'); 

답변

0

이 같은 parent()siblings()를 사용할 수 있습니다

$(countryElt).next("select.state option:first") 
+0

하이로 변경됩니다, 내가 뭘 tryhing있어하면 $ (countryElt)와 참조를 사용하는 유사한 표현으로 expresison "#state을"대체입니다 옆에있는 "스테이트"형제. id = "state"를 가진 요소는 더 이상 존재하지 않습니다. –

0

당신은 할 수 있습니다 :

+0

아마도 설명하는 것이 가장 좋은 이유는 무엇입니까?) – brandonscript

+0

이것이 작동하지 않는 이유가 있습니다. 내 요소 바로 옆에 있습니다. –

1
$('.state option:first') 
    .parent() 
    .siblings('.country') 
    .find('option:first'); 

HI 데이브, 귀하의 의견에 따라, 우리는 더 나은했던에 ID를 추가 두 번째 선택은 다음과 같습니다.

<select name="state1" class="state" id="state">...</select>. 

가 그래서 코드가

$('#state option:first') 
    .parent() 
    .siblings('.country') 
    .find('option:first'); 
+0

이것이 올바른 대답 인 방법을 명확하게 설명하는 것이 가장 좋습니다. 왜 이것이 올바른 해결책인지 판단하기가 어렵습니다. – brandonscript

+0

이 문제는 ".state"가 다중 요소와 일치합니다. $ (countryElt) 옆에 나타나는 단일 요소에 관심이 있습니다. –

+0

안녕하세요, 저는 ".country"및 ".state"지정이있는 다중 요소가 있으므로 각 ID는 고유해야합니다. 여러 국가 및 sttae 요소가 있으므로 형제 국가 요소를 알려진 국가 요소에 상대적으로 액세스하는 선택기를 찾으려고했습니다. –

관련 문제