다음 옵션은 ID 식별자를 사용하여 드롭 다운 목록에서 선택하려고하지만 아무 소용이 여기JQuery와
옆에있는 옵션은 내가 #chapter
이 <select>
또는 그 조상 중 하나입니다 가정 코드
$('#chapter option:selected', 'select').removeAttr('selected').next('option').attr('selected', 'selected')
다음 옵션은 ID 식별자를 사용하여 드롭 다운 목록에서 선택하려고하지만 아무 소용이 여기JQuery와
옆에있는 옵션은 내가 #chapter
이 <select>
또는 그 조상 중 하나입니다 가정 코드
$('#chapter option:selected', 'select').removeAttr('selected').next('option').attr('selected', 'selected')
입니다 .
이 경우 컨텍스트 인수를 제거하십시오.
$('#chapter option:selected').removeAttr('selected')
.next('option').attr('selected', 'selected');
당신이 그것을 가지고하는 방법, 당신은 효과적으로 일을했다 :option:selected
이 가진 elelent에서 내려 가지고 <select>
내부 요소 을 찾고
$('select').find('#chapter option:selected').removeAttr(...
을 ... chapter
ID.
편집 :이 대답은 왜 선택이 작동하지 않는에 단지 집중했다. @Andy E's answer의 방법을 사용하여 궁극적 인 작업을 수행하는 것이 좋습니다.
나는 수락 응답으로 그 중 하나를 권하고 싶습니다.
OP의 원래 코드 인 것을 알고 있지만'selected' 속성을 지우는 것은 불필요합니다. 다른 옵션 요소에. –
@Andy E -이 문제로 돌아 가자. 좋은 지적. 나는 선택이 왜 작동하지 않는지에 더 집중했다. – user113716
그것은 <select>
요소가 여러 속성을 가지고하지 않는 한, 그 형제 중 하나에 추가 할 때 <option>
요소에서 selected
속성을 제거 할 필요가있다.
$("#chapter")[0].selectedIndex++;
은 말할 것도없고 :
, 당신은 훨씬 더 효율적으로 다시 뿌리 DOM을 취함으로써 뭔가에이 코드를 리팩토링 수있는 가정 patrick dw's answer가 정확한지 (당신이 그것을 수락 한 때문이다) 귀중한 바이트를 단축 코드로 저장합니다.
소중한 바이트. 그것들은 중요합니다. $ ("# chapter") [0] .selectedIndex ++' – Raynos
@Raynos : touché :-) –
+1 이것은 OP가 궁극적으로 성취하려고 시도하는 것을 위해가는 길입니다. – user113716
마크 업은 어떻게 보이나요? #chapter 또는 'select'중 하나는 여기에 중복되어 있습니다. 즉, * all * 선택 항목에서 변경하거나 하나의 특정 선택 항목에서만 변경하려는 것입니다. –
http://jsfiddle.net/은 당신의 친구입니다! – Jakub
난 그냥 <3 http://jsbin.com –