【发布时间】:2012-09-26 00:49:59
【问题描述】:
我使用 codeigniter 并遇到以下问题。
在控制器(results.php)中,我有这样的东西:
if(isset($_POST['tournaments'])){
$tournament_id = $_POST['tournaments'];
}else{
$tournament_id=1;
}
if( isset($_POST['categories'])){
$category_id = $_POST['categories'];
}else{
$category_id=1;
}
if( isset($_POST['groups'])){
$group_id = $_POST['groups'];
}else{
$group_id=1;
}
//returns a list of tournaments (id and name)
$data['tournaments'] = $this->tournaments_model->getTournaments();
if($data['tournaments']>0){
//returns a list of categories where tournament=$tournament_id (id and name)
$data['categories'] = $this->tournaments_model->getCategories($tournament_id);
if($data['categories']>0){
//returns a list of groups where where tournament=$tournament_id and category=$category_id
$data['groups'] = $this->tournaments_model->getGroup($tournament_id,$category_id);
}
}
//returns info about team ranking, etc.
if($data['tournaments']>0 && $data['categories']>0 && $data['groups']>0){
$data['rows'] = $this->tournaments_model->getAll($tournament_id, $category_id, $group_id);
if($data['rows']>0){
$this->load->view('header_view', $data);
$this->load->view('results_view', $data);
$this->load->view('footer_view');
}else{
$this->load->view('header_view', $data);
$this->load->view('norecords_view');
$this->load->view('footer_view');
}
}
视图(results_view.php),输出如下: (用引号改变标签)
"form"
"select name="tournaments" id="tournament""
"option value="1" selected="selected">A Tournament""
"option value="2">B Tournament"
"option value="3">C Tournament"
"select name="categories" id="category""
"option value="1" selected="selected">Junior"
"option value="6" >Pro-Junior"
"select name="groups" id="group"
"option value="1" selected="selected">A Group"
"option value="2">B Group"
因此,这应该将三个字段设置为: $_POST['比赛'] = 1 $_POST['类别']) = 1 $_POST['group']) = 1
我想做的是:
将这些值传递给控制器,而不用按钮提交表单。
除此之外,当“锦标赛”发生变化时(例如从 1 到 2),这应该会带来“类别”和“组”的其他数据。
例如:
已选择:Tournament_id=1
然后 Category_id=1,
Group_id=1
Category_id=2
Group_id=2
Group_id=3
已选择:Tournament_id=2
然后 Category_id=1
Group_id=1
Group_id=2
这意味着,我必须以某种方式监控所有三个 $_POST 字段的更新,并将它们发送回控制器 并从模型中的我的 sql 查询中获取新数据。 我用 jquery 尝试了一些东西,但没有得到我想要的结果。
我想,应该有一个函数可以监控三个“选择”中任何一个的变化。 controller-view interaction
如果您有任何想法如何做到这一点,请提供一些建议。 谢谢。
这些是我的控制器(results.php)和视图(results_view.php) scripts
【问题讨论】:
标签: php codeigniter jquery