Codeigniter根据选定的下拉列表

时间:2016-02-23 00:48:57

标签: php mysql codeigniter

我想在文本字段中显示我选择的下拉列表ID的相应描述。我将使用它来减去与该ID相对应的天数,以及处理纸张所花费的实际天数,将结果标记为延迟执行该过程的天数。这方面的例子是标签打印过程,相应的日期只有3天,但实际过程在4天后延迟了1天。我正在使用codeigniter,但我遇到了像无效方法一样的错误。请帮忙。

这是我的控制器,

$data['operation'] = $this->wip_model->get_operation();

这是模型,

function get_operation(){
    $this->db->select('OperationName');
    $this->db->select('DeliveryDays');
    $this->db->from('operation');
    $query = $this->db->get();
    $result = $query->result_array();

    return $result;
}

这是我的观看片段,

<div class="form-group">
    <label class="control-label">Operation</label>
    <select class="form-control" id="operation" name="operation">
       <option value="">-SELECT-</option>
       <?php foreach($operation as $val){ ?>
       <option value="<?php echo $val['OperationName'];?>">
       <?php echo $val['OperationName'];?></option>
       <?php } ?>
    </select>
    <span class="text-danger"><?php echo form_error('operation');?></span>
</div>

我尝试在select选项后放置一个隐藏的文本框但是我有意想不到的结果,而不是显示与所选值对应的天数,它显示了select选项显示的下一个项目。我希望我的英语不是那么糟糕,你可能会得到我所呈现的逻辑......

我搜索并找到了这段代码:

function showDays(str){
    $.get("<?php echo site_url('wip/get_deliverydays');?>",{q:str},function(data){
        $("#deliverydays").html(data);
    });
}

我认为它现在可以正常工作,但我现在有一个Uncaught ReferenceError:showDays未定义......

1 个答案:

答案 0 :(得分:0)

模型,

public function get_operation(){
    $this->db->select('OperationName,DeliveryDays,id');
    $this->db->from('operation');
    $query = $this->db->get();
    return $query;
}

public function fetch_result($posted_id){
    $this->db->select('OperationName,DeliveryDays');
    $this->db->from('operation');
    $this -> db -> where('id',$posted_id);
    $query = $this->db->get();
    return $query;
} 

在视图中,

<?php echo form_open_multipart(base_url().'Controller/action'); ?>
<div class="form-group">
    <label class="control-label">Operation</label>
    <select class="form-control" id="operation" name="operation" onchange="set_to(this.value)";>
        <option value="">-SELECT-</option>
        <?php foreach($operation as $val) { ?>
        <option value="<?php echo $val->id;?>"><?php echo $val->OperationName;?></option>
        <?php  } ?>
    </select>
    <input type="text" id="idesc" name="idesc"/>
    <input type="submit" name="reqsub" class="btn btn-primary">
<?php echo form_close(); ?>

<script type="text/javascript">

function set_to(id){
    $('#idesc').val(id);
}

</script

在控制器中,

 $this->load->helper(array('form', 'url'));
 $posted_id=$this->input->post('operation');
 $value['data']=$this->model->fetch_result($posted_id);
 $this->load->view('viewpage',$value);

在新视图中,

<?php

foreach($data as $row){
    echo $row->OperationName;
    echo $row->DeliveryDays;
}

?>