7

私は現在、yii フレームワーク / php に関して初心者です。この Chtml::DropDownList を作成するための支援をお願いします。

http://www.yiiframework.com/doc/api/1.1/CHtml#dropDownList-detail

Chtml::dropDownList($name, $select, $data)

$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>

彼が参加している現在のユーザーのすべての teamName を表示できるようにしたいと考えています。

現在、これをユーザーのモデル ビューに表示していますが、必要な情報は、ユーザーのチームを保持する UserTeam からのものです。

        'memberOfTeams' => array(self::MANY_MANY, 'UsersTeam', '{{teamMembers}}(userId, teamId)'),     
        'coachOfTeams' => array(self::HAS_MANY, 'UsersTeam', 'coachId'),
4

2 に答える 2

16

$nameそれがname="mySelect"持つフォーム値です(フォームとして送信された場合に渡される値、つまり$_POST['mySelect'])。

$select事前に選択された ID です。配列があるとしましょう...

$options = array('12' => 'Twelve', '10' => 'Ten');

そして、ドロップダウンは次のようになります...

echo CHtml::dropDownList('mySelect', '12', $options);

次に、「Twelve」がドロップダウンで事前に選択された項目になり$_POST['mySelect']、フォームが送信されるときに渡される値になります。

<option>次のように、4 番目のパラメーターのCHtml::dropDownList受け入れを使用して、各タグに追加の 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>
于 2013-06-25T16:01:54.060 に答える
2

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>

これがお役に立てば幸いです

于 2013-06-25T16:14:42.100 に答える