我有以下HTML代码,我试图通过selectedIndex设置选项的值。问题是该选项仍然显示旧值,而如果我对所选内容发出警报,则会给出正确的答案。
我错过了什么?
<select name="select-choice-1" id="select-choice-1">
<option value="none">Choose One</option>
<option value="1">a</option>
<option value="2">b</option>
<option value="3">c</option>
<option value="4">d</option>
</select>
<script>
var HomeLocation = 1;
document.getElementById("select-choice-1").selectedIndex = HomeLocation;
alert(document.getElementById("select-choice-1").selectedIndex); // shows 1
</script>
我的浏览器行为不一致。我通常必须设置selectedIndex
并设置selected
的<option>
属性:
var select = document.getElementById("select-choice-1");
select.selectedIndex = 1;
select.options[1].selected = true;
我正在使用JQuery Mobile,并没有意识到我必须刷新元素。这对我有用:
document.getElementById('select-choice-1').value = HomeLocation;
$("#select-choice-1").selectmenu("refresh");