Je suppose que #chapter
est le <select>
ou l'un de ses ancêtres .
Si c'est le cas, supprimez l'argument de contexte.
$('#chapter option:selected').removeAttr('selected')
.next('option').attr('selected', 'selected');
La façon dont vous l'aviez, vous faisiez effectivement ceci:
$('select').find('#chapter option:selected').removeAttr(...
... qui est à la recherche d'un élément à l'intérieur l'<select>
qui a un option:selected
descendant d'un elelent avec le chapter
ID.
EDIT: Cette réponse se concentrait uniquement sur la raison pour laquelle la sélection ne fonctionnait pas. Il serait préférable d'accomplir la tâche ultime en utilisant la méthode dans @Andy E's answer.
Je recommanderais celui-ci comme réponse acceptée.
A quoi ressemble votre balisage? Soit #chapter, soit 'select' est redondant ici, ce qui signifie que vous voulez changer ceci sur * tous * les sélections, ou sur une seule sélection spécifique. –
http://jsfiddle.net/ est votre ami! – Jakub
Je juste <3 http://jsbin.com –