如何预选加载时的单选按钮(Express / NodeJS / EJS)?

时间:2019-03-28 06:47:17

标签: html node.js radio-button ejs

如何使用Express / NodeJS / EJS预先选择单选按钮?

后端/快递:

user = {
   likeCats: false
}

HTML:

<p>Do you like cats?</p>

<form action="">
  <input type="radio" name="likeCats" id="catsYes" value=true> Yes
  <input type="radio" name="likeCats" id="catsNo" value=false> No
</form>

我已经尝试了DOM操作,但是无法正常工作,例如

客户端JS:

//user is obviously undefined in the clientside, so this fails.
if(user.likeCats){   
    document.getElementById('catsYes').checked = true;
}

2 个答案:

答案 0 :(得分:1)

一个简单的解决方案是

if(true){
   <input type="radio" name="likeCats" id="catsYes" checked>
}
else{
   <input type="radio" name="likeCats" id="catsYes">
}

一种更好的方法:

<input type="radio" name="likeCats" id="catsYes" 
    <%if(true){%>
        <%="checked"%>
    <%}%>
>

答案 1 :(得分:1)

您可以使用三元运算符来编写简单干净的代码,尤其是对于大量选项。

<input type="radio" name="likeCats" id="catsYes" <%= user.likeCats ? 'checked' : '' %> >