cakephp:如何将复选框设置为选中? [英] cakephp: How to set checkbox to checked?

查看:92
本文介绍了cakephp:如何将复选框设置为选中?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在使用

$form->input('Model.name', array('multiple'=>'checkbox');



我试图根据模型数据设置某些复选框进行检查。

I am trying to base on model data to set certain checkboxes to checked.

我如何做到这一点?

推荐答案

cmptrgeekken的解决方案一个复选框,我假设你生成一个多个复选框,对于一个HABTM关系或类似的东西。

cmptrgeekken's solution works for a single checkbox. I'm assuming you're generating a multiple checkboxes, for a HABTM relation or something similar.

你需要传递一个数组,将被选择到该方法的元素,例如:

You need to pass a array with the values of the elements that are going to be selected to the method, like this:

$options = array(1 => 'ONE', 'TWO', 'THREE');
$selected = array(1, 3);
echo $form->input('Model.name', array('multiple' => 'checkbox', 'options' => $options, 'selected' => $selected));

将生成以下内容:

 <div class="input select">
      <label for="ModelName">Name</label>
      <input name="data[Model][name]" value="" type="hidden">

      <div class="checkbox">
           <input name="data[Model][name][]" checked="checked" value="1" id="ModelName1" type="checkbox">
           <label for="ModelName1" class="selected">ONE</label>
      </div>
      <div class="checkbox">
           <input name="data[Model][name][]" value="2" id="ModelName2" type="checkbox">
           <label for="ModelName2">TWO</label>
      </div>
      <div class="checkbox">
           <input name="data[Model][name][]" checked="checked" value="3" id="ModelName3" type="checkbox">
           <label for="ModelName3" class="selected">THREE</label>
      </div>
 </div>

选中第一个和第三个复选框。

The first and third checkbox checked.

记住,你实际上正在使用一个多重选择元素,只显示一堆复选框(这是IMO更好,因为可用性)。

Just remember that you're actually working with a multiple select element that is just displayed as a bunch of checkboxes (Which is IMO better because of the usability).

这篇关于cakephp:如何将复选框设置为选中?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆