我在我的视图中有一个选择列表。点击其中一个选项后,控制器将根据所选选项刷新页面。但是,问题出在刷新页面后,所选选项未标记为选中状态。另外,我想在加载页面时向控制器发送默认的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。 –