如何在HTML中用两个预定义的值绑定选择选项,以在mongodb中插入数据

How bind select options in the HTML with two pre-defined values to insert data in mongodb

本文关键字:选项 选择 绑定 以在 数据 插入 mongodb 两个 HTML 预定义      更新时间:2024-01-02

我在管理面板中创建了一个事件创建者,一切正常,但现在我需要插入一个新字段:

info: Object

在我的HTML事件创建者中,我有这样的选择:

<label for="info">Information Type:</label>
<select id="info" name="info">
 <option>Normal</option>
 <option>Special</option>
</select>

通过张贴到/create

当这个事件到达我的控制器时,我需要将所有表单输入保存在我的数据库中,这很好,这部分是100%工作的。

但是,在进行保存之前,我使用以下代码将select选项与数据库中字段info的实际值绑定:

event.pre('save', function(next) {
 if (this.info === 'Normal') {
   this.info = ['this text', 'is one text, but i want show as a list', 'that's why i am doing this']
 } else if (this.info === 'Special') {
   this.info = ['same', 'happens', 'here']
 }
});

我想知道这是否正确,是否有效,但对我来说似乎是错误的。

例如,如果我选择"正常",将显示如下:

<ul>
  <li>This text</li>
  <li>is one text, but i want show as a list</li>
  <li>that's why i am doing this</li>
</ul>

我想知道整件事是否正确,如果不对,如何做对。如果可能的话,我还想要只使用HTML的替代方案,而不使用预保存。

提前谢谢。

如果info字段的值是常量,我认为您的解决方案是最好的。

但是,如果您需要为info字段使用动态值,您可以像这里一样更改代码;

http://jsfiddle.net/oprz2p2e/

如果表单上有很多字段,可以使用jQuery $("#yourFormId").serialize()方法收集数据。

ps:我想您知道如何使用EJS显示这些数据。您可以使用forEach together EJS列出info字段值。