CakePHP:具有不同html属性的多个复选框
发布时间:2020-12-13 17:24:54 所属栏目:PHP教程 来源:网络整理
导读:情况如下: 我有表阶段具有以下结构 | id | name | editable| ----------------------------------------------------------------------------- | open | Open | 1 | | paysheet_review | Paysheet Submitted (Awaiting Office Approval) | 0 | | to_pay |
情况如下:
我有表阶段具有以下结构 | id | name | editable| ----------------------------------------------------------------------------- | open | Open | 1 | | paysheet_review | Paysheet Submitted (Awaiting Office Approval) | 0 | | to_pay | Paysheet Approved (Awaiting Payment) | 0 | | paid | Paid | 1 | | purgatory | Flip or Refund | 0 | | closed | Deal Closed | 1 | ----------------------------------------------------------------------------- 我正在创建一个多重复选框块 在控制器中 <?php $_stages = $this->Stage->find("list");?> 在视图中 <?php echo $this->Form->input("stage",array("multiple" => "checkbox","options" => $_stages));?> 这会创建以下html <div class="control-group"> <label class="control-label" for="DealStage">Stage</label> <input type="hidden" value="" id="DealStage_" name="data[Deal][stage]"> <div class="controls"> <label class="checkbox"><input type="checkbox" id="DealStageOpen" value="open" name="data[Deal][stage][]">Open</label> <label class="checkbox"><input type="checkbox" id="DealStagePaysheetReview" value="paysheet_review" name="data[Deal][stage][]">Paysheet Submitted (Awaiting Office Approval)</label> <label class="checkbox"><input type="checkbox" id="DealStageToPay" value="to_pay" name="data[Deal][stage][]">Paysheet Approved (Awaiting Payment)</label> <label class="checkbox"><input type="checkbox" id="DealStagesPaid" value="paid" name="data[Deal][stage][]">Paid</label> <label class="checkbox"><input type="checkbox" id="DealStagePurgatory" value="purgatory" name="data[Deal][stage][]">Flip or Refund</label> <label class="checkbox"><input type="checkbox" id="DealStageClosed" value="closed" name="data[Deal][stage][]">Deal Closed</label> </div> </div> 现在我想将editablefrom数据库列作为每个复选框的标题传递. 解决方法
生成单个复选框
如果在一次调用中生成了复选框,则无法为复选框提供单独的属性,但是可以轻松地单独生成每个复选框.为此,请确保将阶段数据传递给视图: // in Controller action $stages = $this->Stage->find("all"); $this->set('stages',$stages); 在视图中,只需遍历$stages变量即可生成复选框: // in view file foreach ($stages as $stage) { $id = $stage['Stage']['id']; $name = $stage['Stage']['name']; $editable = $stage['Stage']['editable']; echo $this->Form->input( 'Deal.stage.' . $id,['value' => $id,'label' => $name,'type' => 'checkbox','data-editable' => $editable] ); } 我不太关注你想用这个可编辑属性做什么 – 但是从js访问它会是: // in js file $('input[type=checkbox]'].each(function() { var editable = $(this).data('editable'); ... }); (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |