我在我的視圖中有一個選擇列表。點擊其中一個選項後,控制器將根據所選選項刷新頁面。但是,問題出在刷新頁面後,所選選項未標記爲選中狀態。另外,我想在加載頁面時向控制器發送默認的ALL
選項,但我不知道該怎麼做。如何標記當前選擇選項
這裏查看:
<form method="post" accept-charset="utf-8" action="<?php echo base_url("account/myaccount_ticketmanagement"); ?>">
<select name="change_event" onchange="this.form.submit()" type="text" class="form-control" style="margin-top:-3px; width:60%; float: right; background-color: #414042; border:none; box-shadow: none; color: white;">
<option value="ALL" selected="selected">ALL</option>
<?php
foreach ($e_names as $e_name){
echo '<option value="'.$e_name[0]['e_name'].'">'.$e_name[0['e_name'].'</option>';
}
?>
</select>
</form>
這是在控制器代碼:
$current_E = $this->input->post('change_event');
if(isset($current_E)&&!empty($current_E)){
$data['record'] = $this->db->select('ticket_id, Qty, fullname,purchase_time, ticket_type, ticket_price, delivery')
->where('user_id',$user_id)->get('Guest', $config['per_page'], $this->uri->segment(3));
}
else{
if($current_E == 'ALL'){
$data['record'] = $this->db->select('ticket_id, Qty, fullname, purchase_time, ticket_type, ticket_price, delivery')->where('user_id',$user_id)->get('Guest', $config['per_page'], $this->uri->segment(3));
}
else{
$id = $this->db->select('event_id')->where('e_name',$current_E)->get('events')->result_array();
$data['record'] = $this->db->select('ticket_id, Qty, fullname,purchase_time, ticket_type, ticket_price, delivery')->where('user_id',$user_id)->where('event_id',$id[0]['event_id'])->get('Guest', $config['per_page'], $this->uri->segment(3));
}
}
你需要使用AJAX這個 – CodeGodie
之前也添加一個檢查到所有選項來查看是否$ current_E是,好像你正在你的數據庫調用來自控制器。這是錯誤的。數據庫查詢應該在你的模型中完成。 – CodeGodie
@感謝您的建議,這只是一個測試版本。由於我真的在選擇列表中掙扎,我沒有爲此寫一個模型。除了使用AJAX之外,還有其他方法嗎?我幾乎不瞭解AJAX。 –