2017-08-24 73 views
0

请原谅我是否犯了英文错误,它不是我最好的语言。我会编辑这篇文章,如果我犯了错误,请让我知道。如何从基于另一个选择标记的代码值中填充选择标记

我想用Codeigniter制作一个带有选择标签的PHP页面,这个标签的值来自数据库,并且试图根据放置在前者的值来填充第二个选择标签。

我的college_subj数据库有三列。 CollCode,SC和Subj。

基本上,大学代码(CollCode)和学科代码(SC)有组合。大学代码X可以有A,B,C SC,大学代码Y可以有B,C,D,E SC。当第一个选择标记CollCode有一个值时,我试图让这些SC出现在我的第二个选择标记上。

该页面的功能是接受来自两个选择标签的值并将其插入到数据库中。

这里是我的edit.php选择标签:

<form method="post" action="<?php echo base_url();>index.php/Controller/insertfunction" id="crq">  
 
     <h3>Select College Code:</h3> 
 
     <select id="codecrq" name="code"> 
 
     <option value="" selected="selected">---Select College Code---</option> 
 
      <?php foreach ($code as $row4): ?> 
 
      <option label="<?php echo $row4['Code']; ?>" value="<?php echo $row4['Code']; ?>" <?php echo set_select('code', $row4['Code'], False); ?>> <?php echo $row4['Code'] ; ?> </option> 
 
      <?php endforeach; ?> 
 
     </select> 
 
     
 
     <h3>Select SC:</h3> 
 
     <select id="sccrq" name="sc"> 
 
      <option value="" selected="selected">---Select SC---</option> 
 
     </select> 
 
</form>

以下是我得到的是我放在代码选择标签这是在型号值:

public function Code() { 
    $this->db->distinct(); 
    $this->db->select('college_subj.CollCode'); 
    $this->db->from('college_subj'); 

    $query = $this->db->get(); 
    return $query->result_array(); 
} 

下面是我试图用来填充SC选择标签的jquery:

$("#codecrq").change(function(){ 
 
     var selectedMark = $("code").val(); 
 
      if(selectedMark !== ""){ 
 
       $.ajax({ 
 
        type: "GET", 
 
        url: "Controller/sccrq/" + selectedMark, 
 
        success: function(data){ 
 
         $("#sccrq").html(""); 
 
         $("#sccrq").append("<option value=''></option>"); 
 
         $.each(data, function(){ 
 
          $("#sccrq").append("<option value='" + this.sc + "'>" + this.sc + "</option>"); 
 
         }); 
 
        } 
 
       }); 
 
      } 
 
    });

,这里是从我的控制器,这是应该得到学院码组合基于种姓和它传递的SC选择标签的SCCRQ代码:

function sccrq($code){ 
    $this->db->distinct(); 
    $this->db->select('college_subj.sc'); 
    $this->db->from('college_subj'); 
    $this->db->where($code); 
    $query = $this->db->get()->result_array(); 

    return $query; 
} 

我尝试让它运行,但没有任何东西从SC选择标签出来。

任何帮助将深表谢意! 谢谢你的时间!

回答

0

您可以尝试

function sccrq($code){ 
    $query = $this->db->query("SELECT SC FROM college_subj WHERE code = '".$code."'"); 
    return $query; 
} 
+0

感谢您的! 但是一个错误控制器/ sccrq/undefined 404(未找到)出现在我的控制台上:o –

+0

url:“Controller/sccrq /”+ selectedMark,我认为你调用了错误的Controller/sccrq,你不应该调用直接文件。例如:url/FunctionNameFromControllerFile +在routes.php中添加此函数名称,如果您的函数不是索引 – durduliu2009

+0

我已经编辑了一些路由,404错误终于从控制台中消失了。但没有数据传递给选择标记 –

相关问题