如何使用codeigniter根据另一个选择标记从值填充选择标记

时间:2017-08-24 07:44:28

标签: php jquery codeigniter-3

如果我在英语中犯了任何错误,请原谅我,这不是我最好的语言。如果我犯了错误,我会编辑这篇文章,请告诉我。

我正在尝试使用带有选择标记的Codeigniter创建一个php页面,该标记的值来自数据库,并且我尝试根据前者的值填充第二个选择标记。

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

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

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

这是我的edit.php上的select标签:

<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>");
                        });
                    }
                });
            }
    });

这是来自我的控制器的sccrq代码,该代码应该根据College Code组合获取SC并将其传递给SC select标签:

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 select标签没有任何内容。

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

1 个答案:

答案 0 :(得分:0)

你可以尝试

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