根据第一个选择框填充最后一个选择框

时间:2014-08-20 07:50:49

标签: php jquery ajax codeigniter codeigniter-2

我尝试根据第一个但没有结果填充选择框,没有错误但第二个选择框没有填充: 我的HTML:

               <div class="form-group">
                        <label>Firm:</label>
                        <select class="form-control marg-left-10" id="firm">
                            <?php if($all_firms): ?>
                                <?php foreach($all_firms as $firm): ?>
                                    <option value="<?php echo $firm['id_firm']; ?>"><?php echo $firm['name_firm']; ?></option>
                                <?php endforeach; ?>
                            <?php endif; ?>
                        </select>
              </div>
              <div class="form-group">
                        <label>Administrator</label>
                        <select class="form-control marg-left-10" id="admin">

                        </select>
              </div>

我的php:

public function getAllFirms()
{
    $this->load->database();
    $all_firms = $this->db->query("SELECT *FROM firms");
    if ($all_firms->num_rows())
    {
        $all_firms = $all_firms->result_array();
    }
    else
    {
        $all_firms = NULL;
    }

    return $all_firms;

}
 public function getAdministrator($id)
{
    $this->load->database();
    $get_admin = $this->db->query("SELECT * FROM users,firms WHERE firms.id_firm = users.fk_firm and users.id = $id");
    if ($get_admin->num_rows())
    {
        $get_admin = $get_admin->result_array();
    }
    else
    {
        $get_admin = NULL;
    }

    return $get_admin;
}

我的剧本:

    $("#firm").change(function() {
    var selectedMark = $("#firm").val();
    if (selectedMark != "") {
        $.ajax({
            type: "GET",
            url: "<?php echo base_url() . 'user/getAdministrator'; ?>" + selectedMark,
            success: function(data) {
                $("#admin").html("");
                $("#admin").append("<option value=''></option>");
                $.each(data, function() {
                    $("#admin").append("<option value='" + this.id + "'>" + this.name + "</option>");
                });
            }
        });
    }
});

我使用CodeIgniter作为后端语言,第一个选择框已填充但第二个没有。请帮助我们......请帮助!!!!!帮助我的伙计!!解决这个问题的另一个想法是什么?

3 个答案:

答案 0 :(得分:1)

在您拨打电话&#39; admin&#39;时,您似乎忘了添加#选择。即看成功&#39;你的JS部分并改变:

$('admin')...

$('#admin')...

答案 1 :(得分:0)

you are looking like this:   
<div class="form-group">
 <label>Firm:</label>
 <select class="form-control marg-left-10" id="firm">
  <option value="1">1</option>
  <option value="2">2</option>
  <option value="3">3</option>
 </select>
</div>
<div class="form-group">
 <label>Administrator</label>
 <select class="form-control marg-left-10" id="admin"></select>
</div>
<script>
$("#firm").change(function() {
var selectedMark = $("#firm option:selected").val();
var selectedMarkt = $("#firm option:selected").text();
if (selectedMark != "") {
    $.ajax({
        type: "GET",
        url: "test.php",
        success: function(data) {
            $("#admin").append("<option value='" + selectedMark + "'>" + selectedMarkt + "</option>");
        }
    });
  }
});
</script>

答案 2 :(得分:0)

在这一行看起来你需要另一个“/”:

url: "<?php echo base_url() . 'user/getAdministrator'; ?>" + selectedMark,

在“用户/设置管理员”之后。