0

我有一个非常简单的问题,但我不知道该怎么做......在我的 HTML 页面中,我有一个简单的选择标签:

<select id="selection-type">
     <option disabled="disabled">Type</option>
     <option value="0">Tous les types</option>
     <option value="1">Appartement</option> 
     <option value="2">Maison</option>
     <option value="3">Terrain</option>
</select>

我想使用 JavaScript 动态设置一个特定的值,但我只是设法更改了选定的索引,而不是显示的值。目前,我正在这样做(在我的 HTML 页面的页脚部分):

<script type="text/javascript">
  $(document).ready(function(){
    document.getElementById("selection-type").selectedIndex = 2;
});
</script>

结果,它改变了我选择的选定索引,但显示的文本不是“更新”:值“Tous les types”保持不变。事实上,我想改变整个选择,例如选择的选项,而不仅仅是索引。

4

3 回答 3

1

看起来你正在使用 jQuery。您可以使用 jQuery 的val方法来更改选择框,使用value您要选择的选项:

$(document).ready(function() {
    $('#selection-type').val('1');
});

或者你需要用纯 JavaScript 来完成吗?

编辑:

你使用的是什么浏览器?您正在做的selectedIndex事情实际上在 Chrome 24.0.1312.5 中对我有用。

于 2013-02-14T17:19:19.790 回答
1

你有没有尝试过:

document.getElementById("selection-type").value = document.getElementById("selection-type").selectedIndex.value;
于 2013-02-14T17:43:48.173 回答
0

最后,我找到了让它工作的方法。我仍然使用我的第一种方法,但我在 $(document).ready 之前执行它:

<script type="text/javascript">
    document.getElementById("selection-type").selectedIndex = 2;
    $(document).ready(function() {
        ...
     });
</script>

我不明白为什么..但它的工作。非常感谢。

于 2013-02-15T01:20:26.760 回答