The pure javascript selectedIndex attribute is the right way to go because,it's pure javascript and works cross-browser:
$('#selectBox')[0].selectedIndex=4;
Here is a jsfiddle demo with two dropdowns using one to set the other:
<select onchange="$('#selectBox')[0].selectedIndex=this.selectedIndex">
<option>0</option>
<option>1</option>
<option>2</option>
</select>
<select id="selectBox">
<option value="0">Number 0</option>
<option value="1">Number 1</option>
<option value="2">Number 2</option>
</select>
You can also call this before changing the selectedIndex if what you want is the "selected" attribute on the option tag (here is the fiddle):
$('#selectBox option').removeAttr('selected')
.eq(this.selectedIndex).attr('selected','selected');