为了账号安全,请及时绑定邮箱和手机立即绑定

在不同大小的下拉列表中为每个 <option> 创建唯一的 id 和 value 属性

在不同大小的下拉列表中为每个 <option> 创建唯一的 id 和 value 属性

慕慕森 2021-07-02 14:07:06
我正在使用 ejs 文件作为我的视图创建一个 nodejs 应用程序。我创建了一个下拉菜单,它从 json 文件中提取以填充它。我想让每个选项都有一个唯一的 ID 或值,这样我就知道选择了哪个选项。我已经尝试使用 ejs 标签将其插入到标签属性中,但在 html 标签中看不到它。<form action="/" method="post">      <select name="charChoice">              <% for (var k in list.names){ %>                    <option id="old"><%=list.names[k]%></option>              <% } %>          <option value="new">New Character</option>      </select>      <br><br>      <input type="submit" value="Choose"></form>这是我到目前为止所拥有的。我想要当前标记为旧的选项标签的唯一 ID。
查看完整描述

2 回答

?
万千封印

TA贡献1891条经验 获得超3个赞

option 标签默认它的 value 属性是给它的任何文本,即

<option>some text</option>

将分配“一些文本”作为它的值。对此进行了一些测试,结果成立。


查看完整回答
反对 回复 2021-07-08
?
绝地无双

TA贡献1946条经验 获得超4个赞

考虑到这list.names是一个数组,将每个位置的索引存储在 option.value 中:


<form action="/" method="post">

    <select name="charChoice">

        <% for (var k = 0; k < list.names; k++) { %>

            <option value="<%= k %>"><%= list.names[k] %></option>

        <% } %>

        <option value="new">New Character</option>

    </select>

    <br><br>

    <input type="submit" value="Choose">

</form>

服务器端:


myAction = function(req, res) {

    var list = {};

    list.names = myFunctionToLoadNames(); // [ "name1", "name2", etc.. ]


    var charChoice = req.body.charChoice;

    if (charChoice == "new") {

        // ...

    } else {

        var charChoiceSelected = list.names[];

        // ...

    }


    // ...

}


查看完整回答
反对 回复 2021-07-08
  • 2 回答
  • 0 关注
  • 283 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信