这是我的代码。我正在尝试从数据库设置选择标记的值。但它没有按预期工作。我的requiremnet是value ='Auto',则应选择第0个索引,否则应选择1sst索引。但事实并非如此。有人可以帮我吗?
<div class="form-group">
<label class="medium mb-1" for=""> Select Mode of Update </label>
<select class="form-control" name="avupdatemode" value="<%= data.updatemode %>" >
<option value="Auto" >Auto Update</option>
<option value="Manual">Manual</option>
</select>
</div>
<script>
var sel= document.getElementById('avupdatemode');
if(document.getElementById('avupdatemode').value =='Auto'){
sel.options.selectedIndex = 0;}
else{
sel.options.selectedIndex = 1;
}
</script>
答案 0 :(得分:1)
首先,您选择的没有id
属性。
第二个.value
将从所选选项中获取值,而不是所选内容的value
属性。
所以我已经将data-value="sAuto"
添加到选择项中,然后完成了document.getElementById('avupdatemode').dataset.value == 'Auto'
演示
var sel = document.getElementById('avupdatemode');
if (document.getElementById('avupdatemode').dataset.value == 'Auto') {
sel.options.selectedIndex = 0;
} else {
sel.options.selectedIndex = 1;
}
<div class="form-group">
<label class="medium mb-1" for=""> Select Mode of Update </label>
<select class="form-control" id="avupdatemode" name="avupdatemode" data-value="sAuto">
<option value="Auto">Auto Update</option>
<option value="Manual">Manual</option>
</select>
</div>
答案 1 :(得分:0)
我将后端数据以数组的形式发送到我的ejs页面。 所以我尝试了一下,它奏效了:
var sos = <%- JSON.stringify(sos) %>;
我迭代了数组,并根据值为选择选项设置了索引。