CakePHP 1.2 - 输入组的自定义ID?

时间:2015-04-10 17:56:00

标签: php cakephp checkbox

我正在尝试修复以前程序员的代码,但Cake的FormHelper不想让它变得简单......

我们在同一页面上有多组复选框。要设置它们,我们使用formhelper,如下所示:

echo $form->input("tabs.".$type.".".$value['value'],array('label' => 'Market by '.$namex.'','options'=>$my_all_tabs,'default'=>'SELECT '.$type.'','size'=>10, 'multiple'=> 'checkbox','div'=>'scroll_checkboxes'));

问题是,由于复选框($ my_all_tabs)的自动生成ID格式,所有复选框组中的相同复选框具有相同的ID ...所以说我试过检查第3个复选框中的第一个复选框组,它将更改第一个组中的第一个复选框。

这是HTML输出...请记住,有几个这样的块,数字57取决于你所在的块。但是这个变量不会转移到复选框ID,导致重复< / p>

    <div class="scroll_checkboxes">
    <label for="TabsOMBCODE57">Market by OMB Market Definition</label>
    <input type="hidden" name="data[tabs][OMBCODE][57]" value="">  
    <div class="checkbox">
        <input type="checkbox" name="data[tabs][OMBCODE][57][]" id="TabsOMBCODE1" value="1">
        <label for="TabsOMBCODE1">MEDIAOVERVIEW</label>
    </div>  
    <div class="checkbox">
        <input type="checkbox" name="data[tabs][OMBCODE][57][]" id="TabsOMBCODE2" value="2">
        <label for="TabsOMBCODE2">ONLINEOVERVIEW</label>
    </div>
    <div class="checkbox">
        <input type="checkbox" name="data[tabs][OMBCODE][57][]" id="TabsOMBCODE3" value="3">
        <label for="TabsOMBCODE3">MARKETONLINEDASH</label>
    </div>
    <div class="checkbox">
        <input type="checkbox" name="data[tabs][OMBCODE][57][]" id="TabsOMBCODE4" value="4">
        <label for="TabsOMBCODE4">USAVGCOMPARE</label>
    </div>
</div>

基本上我需要来自name属性的57也在id属性中。

我尝试使用以下代码为每个代码制作自定义ID:

                                foreach($alltabs as $a){
                                    $my_all_tabs[] = array("name"=>$a,
                                                            "value"=>$count+1,
                                                            "id"=>"willynilly"
                                                            );
                                    $count++;
                                }

但那只是平坦无效。 CakePHP的出色系统完全忽略了自定义id标签。

这里有没有涉及升级CakePHP的解决方案?

1 个答案:

答案 0 :(得分:0)

试试这个。我无法为你测试这个,因为我没有CakePHP 1.2设置,也没有使用它。

echo $form->input(
    "tabs.".$type.".".$value['value'],
    array(
        'id' => "Tabs".$type.$value['value'],
        'label' => 'Market by'.$namex.'',
        'options'=>$my_all_tabs,
        'default'=>'SELECT '.$type.'','size'=>10, 
        'multiple'=> 'checkbox',
        'div'=>'scroll_checkboxes'
    )
);