请帮帮我,我在使用 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。并且不要在选择字段中调用函数。试试这个
<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;