Php 如何使用Chtml::DropDownList()

Php 如何使用Chtml::DropDownList(),php,forms,drop-down-menu,yii,Php,Forms,Drop Down Menu,Yii,说到yii框架/php,我目前是个新手。我想要一些帮助来创建这个Chtml::DropDownList 我知道$data是我将从数据库加载的数据数组 但是有人能告诉我$name和$select是如何工作的吗。我很难找到一个非常简单的文档来解释这一点 我设法让这段代码正常工作,但我更喜欢使用Chtml::dropdownlist <div class="row"> <?php echo $form->dropDownList($model, 'id

说到yii框架/php,我目前是个新手。我想要一些帮助来创建这个Chtml::DropDownList

我知道$data是我将从数据库加载的数据数组

但是有人能告诉我$name和$select是如何工作的吗。我很难找到一个非常简单的文档来解释这一点

我设法让这段代码正常工作,但我更喜欢使用Chtml::dropdownlist

<div class="row">
    <?php
        echo $form->dropDownList($model, 'id',
        Chtml::listData(UsersTeam::model()->findAllByAttributes(array('coachId'=>$model->id)), 'id', 'teamName'),
        array('empty'=>'Select Team'))
    ?>
</div>

$name
是它将具有的
name=“mySelect”
表单值(如果作为表单发送,即
$\u POST['mySelect']

$select
是预选的ID。假设您有一个数组

$options = array('12' => 'Twelve', '10' => 'Ten');
你的下拉列表看起来像这样

echo CHtml::dropDownList('mySelect', '12', $options);
然后,“12”将是下拉列表中的预选项,
$\u POST['mySelect']
将是发送表单时传递的值

您可以使用第四个参数
CHtml::dropDownList
accepts向每个
标记添加额外的html选项,如下所示:

$htmlOptions = array(
    // adds to the select element
    'style' => 'cursor: pointer;',
    // adds to the actual options
    'options' => array(
        '12' => array('title' => '12')
    )
);
以及更新呼叫至:

echo CHtml::dropDownList('mySelect', '12', $options, $htmlOptions);
完成的列表如下所示:

<select name="mySelect" style="cursor: pointer;">
    <option value="12" selected="selected" title="12">Twelve</option>
    <option value="10">Ten</option>
</select>

十二
十

您可以轻松地使用CHtml::activeDropDownList执行相同的操作

所以你的代码看起来像

<div class="row">
    <?php
        echo CHtml::activeDropDownList($model, 'id',
        Chtml::listData(UsersTeam::model()->findAllByAttributes(array('coachId'=>$model->id)), 'id', 'teamName'),
        array('empty'=>'Select Team'))
    ?>
</div>


希望这能帮助您

需要一个标题属性,选项标签为select。
Ten
Any Help@casraf?@xyz文档介绍了它,但我添加了一个示例
<select name="mySelect" style="cursor: pointer;">
    <option value="12" selected="selected" title="12">Twelve</option>
    <option value="10">Ten</option>
</select>
<div class="row">
    <?php
        echo CHtml::activeDropDownList($model, 'id',
        Chtml::listData(UsersTeam::model()->findAllByAttributes(array('coachId'=>$model->id)), 'id', 'teamName'),
        array('empty'=>'Select Team'))
    ?>
</div>