【问题标题】:How to auto populate textbox when dropdown is selected选择下拉列表时如何自动填充文本框
【发布时间】:2019-09-08 13:13:51
【问题描述】:

我正在尝试在选择下拉菜单时自动填充文本框。我已经尝试了一些代码,但没有任何反应我已经在我的代码中包含了 jquery 文件。

我有一个名为 services 的数据库表,列是 service_id、service_name、service_price。

这是我的观点

   <div class="form-group-inner">
   <div class="row">
   <div class="col-lg-1">
   <label class="login2 pull-right pull-right-pro">Service</label>
   </div>
   <div class="col-lg-4">
   <div class="form-select-list">
   <select class="form-control custom-select-value" id="service_name" name="service_name">
   <option>Select Service</option>
   <?php foreach ($service as $services): ?>
   <option value="<?php echo $services->service_id; ?>"><?php echo $services->service_name; ?></option>
   <?php endforeach; ?>
   </select>
   </div>
   </div>
   </div>
   </div>

   <div class="form-group-inner">
   <div class="row">
   <div class="col-lg-1">
   <label class="login2 pull-right pull-right-pro">Price</label>
   </div>
   <div class="col-lg-4">
   <input type="text" id="price" name="price" class="form-control"  />
   </div>
   </div>
   </div>

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script>
$(document).ready(function () { 
    $('#service_name').on('change', function() {
    var service_id=$("service_name").val();
    $.post("<?php echo base_url();?>/records/getprice/" + service_id,

    function(data){
    $('#price').val(data.service_price);
    });
}
<script>

控制器

    function add_form($patient_id){
        $data['service']=$this->services_model->get_all_services();
        $data['value'] = $this->patient_model->get_selected_patient($patient_id);
        $this->load->view('header/header');
        $this->load->view('Records/add_records',$data);
        $this->load->view('footer/footer');
    }

    function getprice($service_id){

        $laiza=$this->db->get_where("services",array("service_id"=>$service_id));
        foreach ($laiza->result() as $row){
            $arr = array('service_price' => $row->service_price);
            header('Content-Type: application/json');
            echo json_encode($arr);
        }

    }

我希望当我从下拉列表中选择数据时,文本框将根据所选项目下拉列表填充价格

【问题讨论】:

  • 请澄清“没有用”,还有什么意思是“我希望当我从下拉列表中选择一个数据时输入将”???
  • function(data){ $('#price').val(data.service_price); }); 不是有效的 JavaScript,函数声明需要一个名称。检查您的控制台是否有错误。
  • @Vickel 抱歉,我已经编辑了问题

标签: javascript php ajax codeigniter


【解决方案1】:

获取 Service_Name 值时缺少 ID 选择器

改成

var service_id=$("#service_name").val();

var service_id= this.value;

<script>
$(document).ready(function () { 
    $('#service_name').on('change', function() {
    var service_id=$("#service_name").val();
    $.post("<?php echo base_url();?>/records/getprice/" + service_id,

    function(data){
    $('#price').val(data.service_price);
    });
}
<script>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-06-01
    • 1970-01-01
    • 1970-01-01
    • 2014-09-17
    • 2014-05-24
    相关资源
    最近更新 更多