// Get Series List
$this->load->model('Series_model');
$serieslist = $this->Series_model->gettypelist($userid, 'e');
$series_item_id = 0;
$this->db->select('series_id');
$this->db->where('type_id', 13);
$this->db->where('series_type', 'e');
$series_item_query = $this->db->get('series_items');
if ($series_item_query->num_rows() > 0) {
$series_item_id = $series_item_query->result();
}
//print_r($series_item_id);
$data['serieslist'] = '<select name="series_id[]" class="type input_select" multiple="multiple">';
$data['serieslist'] .= '<option value="">None</option>';
foreach ($serieslist as $list) {
$data['serieslist'] .= '<option value="' . $list->id . '" ' . ($series_item_id[0]->series_id === $list->id ? 'selected="selected"' : '') . '>' . $list->title . '</option>';
}
$data['serieslist'] .= '</select>';
上記は私が使用しているコードです。私ができるようにしたいのは、選択ドロップダウンメニューの複数の値に対して複数の selected="selected" を設定することです。たとえば、次のようになります。
<select name="series_id[]" class="type input_select" multiple="multiple">
<option value="">None</option>
<option value="4">Event Series: Test 1</option>
<option value="5">Event Series: Test 2</option>
<option value="16">Event Series: Test 3</option>
<option value="17">Event Series: Test 4</option>
<option value="18">Event Series: Test 5</option>
<option value="19">Event Series: Test 6</option>
<option value="20">Event Series: Test 7</option>
<option value="21">Event Series: Test 8</option>
</select>
4 16 と 19 のオプション値を selected="selected" にしたいのですが、上記のコードでは 4 だけを選択してから停止しています。私は何が欠けていますか?さらに情報が必要な場合は、お知らせください。
前もって感謝します。
編集:
print_r の結果:
Array ( [0] => stdClass Object ( [series_id] => 4 ) [1] => stdClass Object ( [series_id] => 16 ) [2] => stdClass Object ( [series_id] => 19 ) )
更新されたコード:
foreach ($serieslist as $list) {
$data['serieslist'] .= '<option value="' . $list->id . '" ' . (in_array($list->id, $series_item_id, TRUE) ? 'selected="selected"' : '') . '>' . $list->title . '</option>';
}
上記の更新されたコードは機能しません。