首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >带有EJS的HTML选择选项

带有EJS的HTML选择选项
EN

Stack Overflow用户
提问于 2016-01-19 21:33:36
回答 2查看 27.3K关注 0票数 17

我正在为我的web应用程序进行配置,尝试将其呈现到网页上。下面是我的代码的一部分。我想把所选的选项添加到config[0].volume中。因此,如果config[0].volume为'50',则选择的选项将为'50‘。代码运行良好。但我想知道。“我怎样才能缩短这段代码?”我的代码太冗长了。

代码语言:javascript
复制
<select id="volume">

  <option value="1" <%= config[0].volume == '1' ? 'selected' : ''%>>1</option>
  <option value="5" <%= config[0].volume == '5' ? 'selected' : '' %>>5</option>
  <option value="10" <%= config[0].volume == '10' ? 'selected' : '' %>>10</option>
  <option value="50" <%= config[0].volume == '50' ? 'selected' : '' %>>50</option>
  <option value="75" <%= config[0].volume == '75' ? 'selected' : '' %>>75</option>
  <option value="100" <%= config[0].volume == '100' ? 'selected' : '' %>>100</option>

</select>

我想了2个小时,但什么也没想出来。也许我必须使用jQuery或JavaScript,并添加属性来拥有它,

代码语言:javascript
复制
attr('selected')... ?

我不知道,你能帮我吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-01-19 21:58:58

您可以根据选项值将其放入循环中。

代码语言:javascript
复制
<select id="volume">

<%
var options = [ "1", "5", "10", "50", "75", "100" ];
for ( var i = 0; i < options.length; i++ )
{
    var selected = ( config[0].volume == i ) ? "selected" : "";
    %><option value="<%=options[ i ] %>" <%=selected %>><%=i %></option><%
}
%>
</select>
票数 26
EN

Stack Overflow用户

发布于 2021-01-05 20:20:10

为什么不使用jQuery (或纯JS)?

代码语言:javascript
复制
<p class="row ">
    <label class="col-lg-12">Language</label>
    <select id="lang" class="input col-lg-12">
        <option hidden value="">Select one</option>
        <option value="ru">Russian</option>
        <option value="en">English</option>
        <option value="ua">Ukranian</option>
    </select>
    <script defer>
        jQuery('#lang').val("<?= newsPost.lang ?>")
    </script>
</p>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34878180

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档