动态设置选择选项的值

时间:2020-08-31 05:52:27

标签: javascript html jquery css

这是我的代码。我正在尝试从数据库设置选择标记的值。但它没有按预期工作。我的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>

2 个答案:

答案 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) %>;

我迭代了数组,并根据值为选择选项设置了索引。

相关问题