如何使用 ajax select 显示数据



请帮帮我,我在使用 ajax 显示数据时遇到问题。我尝试更改变量,但这不起作用在此处输入图像描述

查看此内容

<form>
        <select name="status" onchange="showStatus(this.value)" class="form-control" style="width: 125px">
        <option value="">Pilih Status:</option>
        <option value="1">Lulus</option>
        <option value="0">Tidak Lulus</option>
        </select>
        </form>

阿贾克斯

  var status = $("#showStatus").change(function(){
  $.ajax({
      type:"POST",
      url:'<?php echo base_url("sales/status") ?>'+status,
      data:"salesstatus="+status,
      dataType:'json',
      success:function(data){
        $("#example1").html(data);
      },
      error:function(XMLHttpRequest){
        alert(XMLHttpRequest.responseText);
      }
  });
});

控制器

public function status()
{
    $user=$this->session->userdata('user');
    $status = $this->view->post('showStatus');
    $this->load->view('v_header');
    $data = $this->modelsales->status($status); 
    $this->load->view($this->folder.'/view', $data);
    $this->load->view('v_footer');
}

模型

function status($s)
{
    $this->db->where('salesstatus',$s);
    return $query->result();
}

查看全部

错误说明

首先<select name="status" onchange="showStatus(this.value)" class="form-control" style="width: 125px">你在这里没有提到id..

第二:获取下拉值的错误方法var status = $("#showStatus").change(function(){

我已经修复了这些错误

<form>
        <select name="status" id="showStatus" class="form-control" style="width: 125px">
        <option value="">Pilih Status:</option>
        <option value="1">Lulus</option>
        <option value="0">Tidak Lulus</option>
        </select>
        </form>
<script type="text/javascript">
     $("#showStatus").change(function(){
        var status = $('#showStatus').val();
            alert(status);
  $.ajax({
      type:"POST",
      url:'<?php echo base_url("sales/status/") ?>'+status,
      data:"salesstatus="+status,
      dataType:'json',
      success:function(data){
        $("#example1").html(data);
      },
      error:function(XMLHttpRequest){
        alert(XMLHttpRequest.responseText);
      }
  });
});
         </script>
id

没有定义,首先定义这样的 id。并且不要在选择字段中调用函数。试试这个

<form>
    <select name="status" id="showStatus" class="form-control" style="width: 125px">
    <option value="">Pilih Status:</option>
    <option value="1">Lulus</option>
    <option value="0">Tidak Lulus</option>
    </select>
    </form>

然后你可以尝试这样的脚本

$('#showStatus').change(function(){
var status= $('#showStatus').val();
if(status){
$.ajax({
        url: '<?php echo base_url();?>sales/status/' + status,
        success: function(response)
        {
            jQuery('#example1').html(response);
        }
    });
}
});

看起来你正面临着 ajax 响应的问题。您的呼叫可能无法收到响应 html。您应该更改 ajax 响应的控制器代码。

$html = $this->load->view('v_header',array(),true);
$data = $this->modelsales->status($status); 
$html .= $this->load->view($this->folder.'/view', $data,true);
$html .= $this->load->view('v_footer',array(),true);
return $html; //echo $html;

最新更新