CakePHP не может сделать атрибут добавить

    echo '<div class="myclass">';
    echo $form->input('Car Model:',array('id'=>'carmodels', 'name'=>'carmodels', 'options' => $year, 'label'=>false, 'div'=>false));
    echo '</div>'

<div class="myclass">
<select name="carmodels" id="carmodels">
<option value="1995">Jaq</option>
<option value="1996">Reliant</option>
<option value="1997">Toyota</option>
</select></div> 

Но теперь мне нужно добавить атрибут в опцию body. так что это показывает

<div class="myclass">
<select name="carmodels" id="carmodels">
<option value="1995" body="4door">Jaq</option>
<option value="1996" body="2door">Reliant</option>
<option value="1997" body="4 door">Toyota</option>
</select></div> 

4 ответа

Решение

Нет способа сделать то, что вы хотите сделать, используя $form->input() или $form->select(). Массив параметров, передаваемый любой функции, принимает только простой массив name => value.

Не уверен, почему вы делаете это, так как это даже не правильный HTML, но если вы действительно хотите вывод выше, просто сгенерируйте теги параметров с циклом for.

Это возможно так:

$options = array(
    ...
    array('name' => 'United states', 'value' => 'USA', 'title' => 'the title that you want'),
    array('name' => 'USA', 'value' => 'USA', 'title' => 'the other title that you want'),
 );

 echo $this->Form->input('test', array('type'=>'select', 'options'=>$options));

Взгляните на эту ссылку, чтобы узнать некоторые интересные сведения о входе в CakePHP и выберите: http://www.dereuromark.de/2012/03/01/some-new-crazy-cakephp-tricks/

$options = array(
                 1 => 'One', 
                 2 => array('name' => 'Two', 'value' => 2,  'class' => 'extra'), 
                 3 => 'Three',
                 6 => array('name' => 'Six', 'value' => 6, "data-icon"=>"fa-arrow-circle-o-right")
);

echo $this->Form->input('my_option_id',array('type' =>'select', 'options'=>$options));

HTML =>

<select name="data[my_option_id]" id="my_option_id">
  <option value="1">One</option>
  <option value="2" class="extra">Two</option>
  <option value="3">Three</option>
  <option value="6" data-icon="fa-arrow-circle-o-right" >Six</option>
</select>

CakePHP data-icon в выпадающем списке

$options = array( 1995 => 'Jaq', 1996 => 'Reliant', 1996 => 'Toyota'); echo $form->select( 'title',$options,null, array('class' => 'ddlSortModule'),false);

Другие вопросы по тегам