2016-12-21 3 views
-1

У меня возникла проблема с вводом данных после взрыва. В этом GridView колонке, я бросаю функцию в значение, как это:изменить значения массива после взрыва в yii2

[ 
     'attribute' => 'CONNECTOR_ACTION', 
     'value' => function($model){ 
      $apps = \app\models\APPLICATION::find() 
       ->where(['ID' => $model->ID_APPLICATION]) 
       ->one(); 
      $options = $apps['CONNECTOR_PARAM']; 
      $optionsArr = explode(', ', $options); 
      return Html::activeDropDownList($model, 'CONNECTOR_ACTION', $optionsArr, ['class'=>'form-control', 'disabled' => true]); 
     }, 
          'format' => 'raw' 
    ], 

И в HTML зрения, как это:

<td> 
    <select id="requestapplication-connector_action" class="form-control" name="REQUESTAPPLICATION[CONNECTOR_ACTION]" disabled> 
     <option value="0">create</option> 
     <option value="1">addrole</option> 
     <option value="2">defaultrole</option> 
     <option value="3">removerole</option> 
     <option value="4" selected>disable</option> 
     <option value="5">enable</option> 
     <option value="6">setpassword</option> 
    </select> 
</td> 

Если я хочу изменить выпадающий список, как это:

<td> 
    <select id="requestapplication-connector_action" class="form-control" name="REQUESTAPPLICATION[CONNECTOR_ACTION]" disabled> 
     <option value="create">create</option> 
     <option value="addrole">addrole</option> 
     <option value="defaultrole">defaultrole</option> 
     <option value="removerole">removerole</option> 
     <option value="disable" selected>disable</option> 
     <option value="enable">enable</option> 
     <option value="6">setpassword</option> 
    </select> 
</td> 

Как мне это сделать?

+0

вам нужно создать массив с ключом же, как значение, используя некоторые пересекающее логику –

+0

Спасибо за ваш ответ. Это ключ, и я решил свою проблему \ m/ – Putra

+0

вы можете использовать ** jagsler ** ответ –

ответ

1

Это потому, что ключи от $optionsArr составляют 0-6 вместо значений. Чтобы объединить его, установите ключи так же, как значения.

$combined = array_combine($optionsArr, $optionsArr); 

И затем использовать $combined в Html::activeDropdownList()

 Смежные вопросы

  • Нет связанных вопросов^_^