use*_*984 0 javascript checkbox ejs mongodb express
我目前将数据保存到mongo中以选择问题,并标记正确的答案。在mongo中,我将它们保存为question.options.option1.check =“ on”之类的正确答案。
当我进入“编辑”页面时,我从mongo中提取了特定的记录,该记录在ejs中可以作为“问题”使用,并且我能够轻松地将可编辑字段的值填充为question.question或question.options.option1.text等。但是,我也想标记以前已选中的复选框。以下是该复选框的示例。
<input id=opt1 type="checkbox" name="check1" >
Run Code Online (Sandbox Code Playgroud)
当我使用
<input id=opt1 type="checkbox" name="check1" <%=question.options.option1.check%> >它不起作用时,我也尝试过<input id=opt1 type="checkbox" name="check1" checked="<%=question.options.option1.check%>">这也不起作用。但是,如果我给属性“ checked” =“此处有任何值或根本没有任何值”,它将进行检查,这是错误的。
因此,问题是在编辑页面上检查相应复选框的正确方法是什么?
小智 5
即使您没有为其分配任何值,输入类型复选框也会将属性选中为true。
因此,您可能需要做类似的事情
<input id="opt1" type="checkbox" name="check1" <%= question.options.option1.check ? "checked" : "" %> />
Run Code Online (Sandbox Code Playgroud)
让我知道这是否对您有用。如果无法在<%=%> ejs标记内评估条件,则可能需要评估条件并将其存储在另一个变量中,然后再显示它:
<% let checked = question.options.option1.check ? "checked" : "" %>
<input id="opt1" type="checkbox" name="check1" <%= checked %> />
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3150 次 |
| 最近记录: |