如何将 HTML 中的 select 选项与两个预定义值绑定以在 mongodb 中插入数据
How bind select options in the HTML with two pre-defined values to insert data in mongodb
我在我的管理仪表板中创建了一个事件创建者,一切正常,但现在我需要插入一个新字段:
info: Object
在我的 HTML 活动创建者中,我有这个 selection:
<label for="info">Information Type:</label>
<select id="info" name="info">
<option>Normal</option>
<option>Special</option>
</select>
与post到/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']
}
});
我想知道这是否正确,是否有效,但对我来说看起来不对。
例如,如果我选择'Normal',将显示为:
<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
字段使用动态值,您可以像此处那样更改您的代码;
如果您的表单上有很多字段,您可以使用 jQuery $("#yourFormId").serialize()
方法收集数据。
ps:我想你知道如何使用 EJS 显示这些数据。您可以使用 forEach 和 EJS 一起列出 info
字段值。
我在我的管理仪表板中创建了一个事件创建者,一切正常,但现在我需要插入一个新字段:
info: Object
在我的 HTML 活动创建者中,我有这个 selection:
<label for="info">Information Type:</label>
<select id="info" name="info">
<option>Normal</option>
<option>Special</option>
</select>
与post到/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']
}
});
我想知道这是否正确,是否有效,但对我来说看起来不对。
例如,如果我选择'Normal',将显示为:
<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
字段使用动态值,您可以像此处那样更改您的代码;
如果您的表单上有很多字段,您可以使用 jQuery $("#yourFormId").serialize()
方法收集数据。
ps:我想你知道如何使用 EJS 显示这些数据。您可以使用 forEach 和 EJS 一起列出 info
字段值。