【问题标题】:print value from view to controller codeigniter with ajax onchange without load page使用ajax onchange从视图打印值到控制器codeigniter而不加载页面
【发布时间】:2017-01-05 12:46:47
【问题描述】:

我想在不加载页面的情况下将条件视图与视图的 CodeIgniter 中的值一起使用。我试过跟踪错误,我放弃了,我不知道,这是什么错误

jquery ajax:

var site = '<?php echo site_url();?>';
$(document).ready(function(){
  $("#comboKec").change(function (){
    var selectedText = $(this).find("option:selected").text();
    var selectedValue = $(this).val();

    //alert(selectedValue);
      //$("#res").text(site);

    $.ajax({
        type: 'POST',
        serviceUrl: site+'anggota/index',
        data: {'kec' : selectedValue},
        success: function(data) {
            console.log(selectedValue);
        },
        error: function(msg) {
            console.log('error : '+msg);
        }
    });
  });
});

html:

<select>
<option value="aaaa">1</option>
<option value="bbbb">2</option>
</select>

控制者:

$kec = $this->input->post('kec');
if($kec="aaaa"){ echo "Data 1"; }
else if($kec="bbbb"){ echo "Data 2"; }
else { echo "No Data Selected"; }

【问题讨论】:

  • 如何在没有选择下拉列表名称的情况下获取值?
  • 哦,对不起,我忘记输入了,我只是做了一个模拟代码,它有属性'name="kecamatan" id="comboKec"'
  • @RizaldySetiawanH 在回显某些内容后需要输入;,您还没有在echo "Data 1"echo "Data 2"echo "No Data Selected" 中执行此操作
  • 我已经编辑了我的答案让我们检查一下!
  • 帮我做!将数据发送到控制器中的方法后,只需使用 $kec = $_POST['kec'];并在它之后添加 die() 方法并检查它是否给你一些东西?;

标签: javascript php jquery ajax codeigniter


【解决方案1】:

我认为你需要在两个地方进行更改才能看到 colsole 的差异

  $.ajax({
    type: 'POST',
    serviceUrl: site+'anggota/index',
    data: {'kec' : selectedValue},
    success: function(data) {


     >  console.log(selectedValue);
     >             console.log(selectedValue);

    },
    error: function(msg) {
        console.log('error : '+msg);
    }
});

并将名称命名为选择

 > <select name="comboKec">

<option value="aaaa">1</option>
 <option value="bbbb">2</option>
</select>

哦,您的另一个错误是在 $kec= "aaaa" 您应该使用 $kec=="aaaa" 代替!因为使用 $kec= "aaaa" 您正在为 copare 分配价值,您应该使用 $kec=="aaaa " !

  $kec = $_POST['kec'];


>  if($kec=="aaaa"){ echo "Data 1" ;}
else if($kec=="bbbb"){ echo "Data 2"; }
else { echo "No Data Selected" ;}

【讨论】:

  • 对标签选择的名称和我的 php 上的 '=' 表示遗憾。
  • 我已经关注了你的代码,但它不起作用,我认为我的 serviceUrl 有问题,因为它没有动态打印
  • 在回显一些你需要放;的东西后,你还没有在echo "Data 1"echo "Data 2"echo "No Data Selected"中这样做
  • $kec = $_POST['kec'];在您的控制器中,因为您正在通过 ajax 发送数据!
  • 如果这不起作用然后显示你的控制器的代码!让我们看看你在里面有什么
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-03-13
  • 1970-01-01
  • 2012-04-11
  • 2011-05-11
相关资源
最近更新 更多