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

Posted

技术标签:

【中文标题】如何将 HTML 中的选择选项与两个预定义的值绑定以在 mongodb 中插入数据【英文标题】:How bind select options in the HTML with two pre-defined values to insert data in mongodb 【发布时间】:2015-04-18 21:45:47 【问题描述】:

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

info: Object

在我的 html 事件创建器中,我有以下选择:

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

发帖到/create

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

但是,在进行保存之前,我使用此代码将选择选项与数据库中字段 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 的替代方案,而不使用预保存。

提前致谢。

【问题讨论】:

【参考方案1】:

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

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

http://jsfiddle.net/oprz2p2e/

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

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

【讨论】:

以上是关于如何将 HTML 中的选择选项与两个预定义的值绑定以在 mongodb 中插入数据的主要内容,如果未能解决你的问题,请参考以下文章

将对象中的值与HTML选择选项中的值匹配的Javascript函数?

Repeater中 DropDownList如何绑定数据

如何将选择标记选项值附加到Web服务角度4

如何将下拉菜单与切换组绑定

如何使用代码中的ng-options更改选择中的值?

选项绑定:选择列表不反映绑定对象的值