0
我有一個生成複選框的循環,我在視圖中工作,但我想將它移動到控制器中,然後將結果字符串傳遞給視圖。問題是set_checkbox()似乎沒有記住它被放置在控制器中的值。它似乎確定了默認值。Codeigniter,在控制器中使用set_checkbox
編輯:這只是一個問題,當驗證失敗,我希望複選框保留用戶選擇。否則代碼按預期工作。我也有一個驗證規則集。
$languages_by_name = $this->event_model->get_spoken_languages_by_name();
// Generate array from model data for form_dropdown()
$i = 1;
$list_languages = '';
foreach ($languages_by_name as $row) {
$i == 1 ? $first = TRUE : $first = FALSE; // Check if this is the first radio and precheck it.
$list_languages .= '<label>' . form_checkbox('spokenLanguages[]', $row->event_spoken_id, set_checkbox('spokenLanguages', $row->event_spoken_id, $first)) . ' ' . $row->name . '</label> ';
$i++;
}
// Pass $list_languages to view
$this->data['list_languages'] = $list_languages;
'var_dump($ list_languages)''可能會有很大幫助:) – Kyslik
怎麼會這樣? $ list_languages是一堆複選框,第一個複選框按預期方式工作,但在表單提交由於驗證錯誤而失敗時無法記住選中的值。 –
喲需要通過'$ this-> input-> post('spokenLanguages')'將新數據設置爲'$ list_languages',請按照我提出的問題編輯var_dump,還可以發佈整個方法在編輯? (包含驗證)。謝謝 – Kyslik