如何在Play中将复选框绑定到布尔值! 骨架

我正在使用Play的应用程序! Framework有一个名为gift的对象,它带有一个名为Taken的布尔属性。 如何在我的视图中将此值的状态显示为复选框? 我试过了 :-

  

基于我从自动生成的CRUD表单中看到的示例,但是当属性为True时不检查复选框,这正是我的目标。

有人知道实现这个目的的正确方法吗?

如果值为true,您只需要在复选框中设置checked值。

例如(假设从视图发送的对象称为gift ,布尔值称为Taken

  

接受的答案实际上不是100%正确,因为它没有处理“未经检查”的情况。 要处理这两种情况,您需要一个隐藏字段:

   

请注意,展示位置似乎很重要,因此隐藏字段必须位于复选框之后。

为此编写自定义模板标记,可以轻松不忘记隐藏的输入(将其放入views / tags / checkbox.html):

   

然后像这样调用这个模板:

 #{checkbox id:'gift_Taken', name: 'gift.Taken', checked: gift.Taken /} 

另请参阅有关播放框架列表的相关讨论: https : //groups.google.com/forum/?fromgroups =#!topic / play-frame / HygQuYF3a8E

如果您能够使用javascript,您可以使用:

 $(document).ready(function() { $( ":checkbox" ).each(function() { var name = $(this).attr("name"); if(typeof(name) != "undefined") { var checkboxString = ""; checkboxString = '' $(this).after(checkboxString); } }); });