With jQuery higher than 1.8, repeat call of attr('selected', true);
unselects what it was supposed to select
an example can be found here or below:
$(document).on("click",".edit", function(){
$("#editor").find("select").prop('selectedIndex',0);
$("#editor").find("#whour option[value='"+this.id+"']").attr('selected', true);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.0/jquery.min.js"></script>
<div id="editor">
<select id="whour" name="duration[hr]">
<option value="0">——</option>
<option value="1">1 h.</option>
<option value="2">2 h.</option>
<option value="3">3 h.</option>
<option value="4">4 h.</option>
<option value="5">5 h.</option>
<option value="6">6 h.</option>
<option value="7">7 h.</option>
<option value="8">8 h.</option>
<option value="9">9 h.</option>
<option value="10">10 h.</option>
</select>
</div>
<button id="2" class="edit">2h</button>
<button id="3" class="edit">3h</button>
<button id="4" class="edit">4h</button>
<button id="5" class="edit">5h</button>
is there a solution to that?