我有两个独立的下拉框。从中,我将使用一个依赖下拉框的selected选项更新db中表中列的字段。但是,我真的不明白,我如何才能从这个依赖下拉框中获取所选的选项,并在按下表单的提交按钮后将其传递给数据库。
我使用ajax来完成这项任务。我已经学习了一些教程,但它们只展示了如何在不带任何提交按钮的依赖下拉框中动态添加选项。但是,我需要将从下拉框中选择的从属下拉选项的值传递给db,以便在按下submit按钮后更新列。
这是我的控制器:
public function fetch_session() {
if($this->input->post('subject'))
{
echo $this->Result_Model->fetch_session($this->input->post('subject'));
}
if($this->input->post('syllabus'))
{
echo $this->Result_Model->fetch_syllabus($this->input->post('syllabus'));
}
}
这是我的模型:
public function fetch_session($subject) {
$this->db->select('session');
$this->db->group_by('session');
$this->db->from('student');
$this->db->where('subject',$subject);
$query = $this->db->get();
$output = '<option value="">Select Session</option>';
foreach ($query->result() as $row) {
$output .= '<option value="'.$row->subject.'">'.$row->session.'</option>';
}
return $output;
}
public function fetch_syllabus($syllabus) {
$this->db->select('profile');
$this->db->group_by('profile');
$this->db->from('syllabus');
$this->db->where('subject',$syllabus);
$query = $this->db->get();
$output = '<option value="">Select Syllabus</option>';
foreach ($query->result() as $row) {
$output .= '<option value="'.$row->subject.'">'.$row->profile.'</option>';
}
return $output;
}
我的观点是:
<body>
<div class = "container" align = "center">
<br><br>
<?php echo form_open('Result_Controller/fetch_session'); ?>
<label>Subject</label>
<select class="col-sm-2 custom-select custom-select-sm"
name="subjects" id="subjects">
<option value = "">Select Subject</option>
<option value = "CSE">CSE</option>
<option value = "Fisheries">Fisheries</option>
<option value = "Agriculture">Agriculture</option>
<option value = "NFS">NFS</option>
</select>
<br><br>
<label>Session</label>
<select class="col-sm-2 custom-select custom-select-sm" name="session" id="session">
<option value="">Select Session</option>
</select>
<br><br>
<label>Syllabus</label>
<select class="col-sm-2 custom-select custom-select-sm" name="syllabus" id="syllabus">
<option value="">Select Syllabus</option>
</select>
<br><br>
<input type="submit" value="Submit">
</form>
</div>
<script src = "<?php echo base_url('/js/jquery-3.js') ?>"></script>
<script src = "<?php echo base_url('bootstrap/js/bootstrap.min.js') ?>"></script>
</body>
</html>
<script>
$(document).ready(function() {
$('#subjects').change(function() {
var subject = $('#subjects').val();
if(subject != '')
{
$.ajax({
url:"<?php echo base_url();?>/Result_Controller/fetch_session",
method: "POST",
data:{subject:subject},
success:function(data)
{
$('#session').html(data);
}
});
}
if(subject != '')
{
$.ajax({
url:"<?php echo base_url();>/Result_Controller/fetch_session",
method: "POST",
data:{syllabus:subject},
success:function(data)
{
$('#syllabus').html(data);
}
});
}
});
});
</script>
我已经尽我所能去做了,可能会浪费我最后的10个小时。我知道这是一个不完整的,甚至可能是一个错误的代码。但我需要知道,我应该做些什么。我在ci公司工作了一段时间,但我对ajax完全不熟悉。所以,如果有人这么认为,我可能需要先阅读一些资源,请分享一些。我已经读了很多关于这个问题的文章,但是到目前为止没有什么帮助。
提前谢谢…