我有两个select
框。第一个人的价值如下。
我的MySQL
表如下所示。
如果有人从第一个General Stream
框中选择select
,则第二个select
框选项将类似于...
<option value="1">Honours</option>
<option value="2">General</option>
但是,如果有人从第一个Vocational
框中选择select
,则第二个select
框选项将类似于...
<option value="2">General</option>
在我的controller
做过这个......
function get_coursetype()
{
$r=$this->input->post("coursetype");
$_SESSION['coursetype']=$r;
//print json_encode($_SESSION['coursetype']);
if($r=='Honours'){
$qry = $this->db->query('SELECT * FROM course');
$data = array_shift($qry->result_array());
echo json_encode($data['curs']);
} else {
$qry = $this->db->query('SELECT * FROM course WHERE curs="General"');
$data = array_shift($qry->result_array());
echo json_encode($data['curs']);
}
}
在ajax中,我已经做到了......
$(function(){ // start of doc ready.
$("#CourseType").change(function(e){
e.preventDefault(); // stops the jump when an anchor clicked.
var coursetype = $(this).val(); // anchors do have text not values.
$.ajax({
url: 'index.php?/admission/get_coursetype',
data: {'coursetype': coursetype}, // change this to send js object
type: "post",
success: function(data){
loc = data;
$('#course').empty();
$('#course').show();
$.each(loc,function(data){
$('#course').append($("<option></option>").attr("value",data).text(data));
});
}
});
});
});
我怎么能这样做?
答案 0 :(得分:2)
甚至很难整个场景都是一团糟,我不明白你想用array_shift实现什么 - 试试这个
function get_coursetype()
{
$r=$this->input->post("coursetype");
$_SESSION['coursetype']=$r;
//print json_encode($_SESSION['coursetype']);
if($r=='1'){
$qry = $this->db->query('SELECT * FROM course');
$data = $qry->result_array();
} else {
$qry = $this->db->query('SELECT * FROM course WHERE curs="General"');
$data = $qry->result_array();
}
echo json_encode($data);
}
在你的ajax查询中只需在你的每个循环中使用你的mysql键
$(function()
{ // start of doc ready.
$("#CourseType").change(function(e)
{
e.preventDefault(); // stops the jump when an anchor clicked.
var coursetype = $(this).val(); // anchors do have text not values.
$.ajax(
{
url: 'index.php?/admission/get_coursetype',
data: {'coursetype': coursetype}, // change this to send js object
type: "post",
success: function(data)
{
loc = data;
$('#course').empty();
$('#course').show();
$.each(loc,function(data){
$('#course').append($("<option></option>").attr("value",data.id).text(data.curs));
});
}
});
});
});