-1

フォームにcihelperform_dropdownを使用して、ドロップダウンメニューを使用してテキストボックス、ラジオボタンなどの必要な入力タイプを取得しています。目的のために、私はdbでdisplay_textとmultiple_valuesを使用しています。display_textはテキストボックスやラジオボタンなどを格納しますが、複数の値では、入力が複数の値を取るかどうかに応じて0または1を格納します。 = 1.問題は、私が行っているコントローラーからの編集中に発生します

$data['field_types'] = dropdown_data($field_types, 'display_text' , 'multiple_values');

このように送信すると、保存された値が選択されません。ドロップダウンメニューの最初の値が常に選択されますが、新しい値を選択できます。

$data['field_types'] = dropdown_data($field_types, 'display_text');

結果は編集中に保存された値が表示されますが、現在は変更できません。以前に選択した値を表示するだけでなく、編集中に値を変更できるようにしたい。
私が間違いを犯しているところ。ヘルプ/提案と貴重な時間を事前に感謝します。

4

1 に答える 1

0

最初のオプション:

コントローラーで:

$data['field_types']=array( 
                           '1' => 'First DropDownItem',
                           '2' => 'Second DropDownItem',
                           '3' => 'Third DropDownItem'
                           );

$data['field_types']['4']='New DropDownItem';
$data['field_types']['0']='New Default_DropDownItem';

ビューで:

<?=form_dropdown('field_types',$field_types,0); ?> // default value will be 'New Default DropDownItem'

データベースの 2 番目のオプション (合理的な方法):

コントローラーで:

$data['field_types_from_model']=$this->my_Model->getFieldTypes();

my_Model で:

function getFieldTypes() {
  $Q = $this->db->get('table_with_field_types');
  return $Q->result_array();
}

同じドロップダウン リストを複数回使用している場合は、2 番目のオプションを使用することをお勧めします。このように、すべての使用法に影響するデータベース テーブルでドロップダウン リストを一度変更する必要があります。

于 2012-10-03T05:26:45.053 に答える