Backbone.js – 检查复选框的最佳方法是什么

我的主干模型有一个布尔值(isRegistered).当我渲染视图时,我希望根据布尔值的true / false值选中或取消选中复选框.

我目前的努力看起来像这样:

<input id="isRegisteredCheckBox" checked="<%= isRegistered ? 'checked': ''"/>

这不起作用,因为根据W3C规范,需要完全删除checked属性以取消选中复选框.

我如何使用骨干模板?

解决方法

您不需要checked = part.如果需要检查,只需在标签中打印出来.

编辑

现在我们已经确定只打印“已检查”是有效的html,您可能会尝试简单:

渲染:

var registered;
var tmpl = _.template(your template);
isRegistered ? registered = 'checked' : registered = '';
var tmpl_data = _.extend(this.model.toJSON(),{registered: registered}); // or whatever values you need to add
$(this.el).html(tmpl(tmpl_data));

模板:

<input type="checkBox" {{ registered }}>

使用此方法不需要模板中的杂乱条件.

相关文章

前言 做过web项目开发的人对layer弹层组件肯定不陌生,作为l...
前言 前端表单校验是过滤无效数据、假数据、有毒数据的第一步...
前言 图片上传是web项目常见的需求,我基于之前的博客的代码...
前言 导出Excel文件这个功能,通常都是在后端实现返回前端一...
前言 众所周知,js是单线程的,从上往下,从左往右依次执行,...
前言 项目开发中,我们可能会碰到这样的需求:select标签,禁...