Javascript选择索引值不变

问题描述 投票:-1回答:2

我有以下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>
javascript html
2个回答
1
投票

我的浏览器行为不一致。我通常必须设置selectedIndex并设置selected<option>属性:

var select = document.getElementById("select-choice-1");
select.selectedIndex = 1;
select.options[1].selected = true;

0
投票

我正在使用JQuery Mobile,并没有意识到我必须刷新元素。这对我有用:

document.getElementById('select-choice-1').value = HomeLocation;
$("#select-choice-1").selectmenu("refresh");
© www.soinside.com 2019 - 2024. All rights reserved.