php - Codeigniter中通过ajax将数据传递给 Controller

标签 php javascript codeigniter jquery tooltip

我是代码点火器和 jquery 的初学者。我有一个文本框,如果用户在其中输入一些内容,它会在工具提示中显示来自数据库的数据..在我的情况下我想要的是...我有一个名为“bill no”的文本框..我想要的是如果用户在文本框中输入帐单号,它会根据帐单号显示数据。我不知道如何从 Controller 传递数据以在ajax中查看,然后在通过后如何在工具提示中显示 这是我的代码

Bill No:<?php echo form_input($bill_no); ?>
<input type="hidden" class="hiddenUrl"><span class="checkbillno" data-trigger="manual"


     data-title="bill no" data-content="here i want to display results"></span> 

我的 JavaScript

<script type="text/javascript">

    $(document).ready(function(){

        $('#bill_no').blur(function(){

            if( $('#bill_no').val().length >= 3 )
                {
                  var bill_no = $('#bill_no').val();
                  getResult(bill_no); 
                }
            return false;
        })
        function getResult(billno){
            var baseurl = $('.hiddenUrl').val();
            $('.checkbillno').addClass('preloader');
            $.ajax({
                url : baseurl + 'Controller/checkBillNo/' + billno,
                cache : false,
                success : function(response){
                    $('.checkbillno').removeClass('preloader');
                    if(response == 'userOk')
                        $('.checkbillno').removeClass('preloader');
                    if(response == 'userOk') $('.checkUser').removeClass('userNo').addClass('userOk');
                    else $('.checkUser').removeClass('userOk').addClass('userNo');

                }
            })
        }
    })

这里我所做的是,它只是检查数据库中的帐单号码,如果它在数据库中可用,那么它会添加类“userok”,否则“userfalse”..这里我想要的是显示数据与法案相比,我知道如何在模型中执行此操作,但不知道如何从 Controller 传递到 ajax,然后在工具提示中显示结果

我的 Controller

function checkBillNo($billno){
    $this->load->model('returnModel');
    $query = $this->returnModel->checkBillNo($billno);

    if($query == 1 ) 
        $data['result'] = $query; //how can i pass this result into view in tooltip... (span class)

    else 
        echo 'userNo';

}

最佳答案

操作数据的一个有用方法是在数据类型中使用 json:

function getResult(billno){
     var baseurl = $('.hiddenUrl').val();
     $('.checkbillno').addClass('preloader');
     $.ajax({
          url : baseurl + 'Controller/checkBillNo/' + billno,
          cache : false,
          dataType: 'json',
          success : function(response){
               $('.checkbillno').attr('data-content', response.toolTip);
          }
     })
}

现在您的 js 函数需要一个 json 编码数组作为响应,因此在您的 Controller 中您可以执行如下操作:

$forToolTip = '';
foreach($query->result() as $row){
    $forToolTip .= $row->key;
}

$result['toolTip'] = $forToolTip;
echo json_encode($result);

更改变量以符合您的概念

关于php - Codeigniter中通过ajax将数据传递给 Controller ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14520068/

相关文章:

php - 查看包含非管理表的页面后 session 将关闭

php - 使用 session 显示特定组的文本

php - MySQL - 删除特定 ID 值后的行。

javascript - 通过代码删除 ext javascript 形式的插件?

javascript - 有什么方法可以将 session 存储中存储的文本作为文件附件下载到浏览器?

php - 我可以将数据传递给 Codeigniter 输出类而不显示它吗?

php - 与 ci_sessions 表相关的 MySQL 性能缓慢

php - CodeIgniter:计算连接表的结果

php - 如何自动加载 PHP 5.3 类?

javascript - 从数据库获取 GPS 纬度、经度值并在 map 上绘制标记?