yii2框架dropDownList的下拉菜單用法介紹


Yii2.0 默認的 dropdownlist 的使用方法.

 代碼如下 復制代碼

<?php echo $form->field($model, 'name[]')->dropDownList(['a' => 'Item A', 'b' => 'Item B', 'c' => 'Item C']); ?>

在yii2中加放請選擇的下拉菜單

 代碼如下 復制代碼
 
<php echo $form->field($model, 'name[]')->dropDownList($listData, 
                        ['prompt'=>'Select...']);>

 
DropDownList 在模型中使用
 

 代碼如下 復制代碼
<?php 
//use app\models\Country;
$countries=Country::find()->all();
 
//use yii\helpers\ArrayHelper;
$listData=ArrayHelper::map($countries,'code','name');
 
echo $form->field($model, 'name')->dropDownList(
                                $listData, 
                                ['prompt'=>'Select...']);
?>


下拉菜單的默認值設置我們使用 prompt 關鍵字 實例:

 代碼如下 復制代碼

$form->field($searchmodel, 'moneytype')->dropDownList($soucetype, ['prompt' => '請選擇金額來源')])

好的 下拉菜單的默認值設置就是這樣簡單,下面我們在說說帶有插件的文本框默認值是如何設置的
我現在就拿這個表單后面的兩個使用了時間插件的文本域為例,在這里 prompt 關鍵字就不行了,我們要使用 placeholder 關鍵字

 代碼如下 復制代碼

$form->field($searchmodel, 'startdate')->widget(DatePicker::className(),['clientOptions' => ['dateFormat' => 'yy-mm-dd']])->textInput(['placeholder' => Yii::t('app', 'Start time')])

ActiveForm 類的 dropDownList 方法(優點,默認使用yii的樣式)

1、在控制器的方法里面 ,我們需要拿到數據,一定是 findAll() 或者是 all() 方法的數據,實例如下:

 代碼如下 復制代碼

 public function actionIndex()
    {
        $model = new UserModel();
        $data = Customer::find()->all();

        return $this->render('index', [
            'model' => $model,
            'data' => $data,
        ]);
    }


在視圖頁面,我們使用 yii 的表單生成器。

 代碼如下 復制代碼

$form->field($model, 'username')->dropDownList(ArrayHelper::map($data,'id', 'customer_name'));
2.1、dropDownList           --->     yii2.0  下拉列表的方法
2.2、ArrayHelper::map()     --->     構建一個(key => value) 的一維或多維數組
2.3.1、 $data               --->     數據源
2.3.2、 id                  --->     option 的 value 值
2.3.3、 customer_name       --->     option 標簽的 值


Html 類的 activeDropDownList方法(優點,可以自定義任何樣式)

1、和第一種方法的第一步一樣,拿到數據。不過多解釋了。

2、\yii\helpers\Html 類為我們提供了下拉列表的實現方法 activeDropDownList 方法

 代碼如下 復制代碼
Html::activeDropDownList($model, 'username', ArrayHelper::map($data,'id', 'customer_name'), ['style' => 'border:1px solid red;']);

我沒寫 php 標簽,相信寫過新浪博客的程序猿都知道,寫了 php 標簽 整個代碼都被過濾了,所以復制代碼,自己加上標簽

參數和第一種方法的參數含義相同,不做解釋。

Html 類的 dropDownList方法(優點,可以自定義任何樣式)

1、和第一種方法的第一步一樣,拿到數據。不過多解釋了。
2、\yii\helpers\Html 類為我們提供了下拉列表的實現方法 dropDownList方法

 代碼如下 復制代碼
Html::dropDownList('username', null, ArrayHelper::map($data,'id', 'customer_name'), ['class' => 'dropdownlist']);

我沒寫 php 標簽,相信寫過新浪博客的程序猿都知道,寫了 php 標簽 整個代碼都被過濾了,所以復制代碼,自己加上標簽


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM