我得到了像这样的非唯一选择选项,相同的值意味着不同的事情。我们的数据是这样的,我只能工作以适应数据。Angular2 RC2选择选项selectedIndex
<select id="mySelect">
<option value = "1">Apple</option>
<option value = "2">Orange</option>
<option value = "3">Pineapple</option>
<option value = "1">Banana</option>
</select>
所以我可以通过设置selectedIndex来设置值。
document.getElementById("mySelect").selectedIndex = 3;
但在角2,我得到了这个说法错误“财产‘的selectedIndex’上键入‘HTML元素’。任何不存在”。
我如何找到用Angular2的selectedIndex或者我该如何解决它?
更新: 我想根据从数据库检索到的其他数据设置默认值到选择选项。所以它就像
this.data$.subscribe(data => {
this.data = data;
if (data.someConditionMet) {
document.getElementById("mySelect").selectedIndex = 3;
}
},
error => this.errorMessage = <any>error);
请注意,选项中的值可能是重复的。但条目不是。值“1”可以代表“苹果”或“香蕉”。这就是为什么我想使用索引而不是价值。
我不认为它是重复的。请仔细阅读。这是关于将默认值设置为非唯一选项。 – Shawn
您需要投射文件。getElementById(“mySelect”)在尝试使用selectedIndex属性之前转换为HTMLSelectElement类: ( document.getElementById(“mySelect”))。selectedIndex = 3; –