【问题标题】:Codeigniter Autocomplete from Database来自数据库的 Codeigniter 自动完成
【发布时间】:2013-05-31 15:48:48
【问题描述】:

我的项目有一些问题。我正在尝试在 CodeIgniter 中使用 JavaScript 进行自动完成。我已经尝试了很多选项,但它们都不起作用!

控制器:

 public function getResult($referencia){
     if(!empty($referencia) || isset($referencia))
     {
        $this->db->like('referencia', $referencia);
        echo json_encode( $this->db->get('produto_servico_tbl')->result());
     }
 }

autocomplete.js(由我创建):

$(document).ready(function(){
    $('#search').keypress(function(e){
        if(e.which == 13)
        {
            e.preventDefault();
        }
        var searched = $('#search').val()
        var fullurl = $('#hiddenurl').val() +    'autoComplete_v.php/autoComplete_c/getResult/' + searched
        $.getJSON(fullurl,function(result){
            //display suggestion code goes here
            var elements = [];
            $.each(result, function(i, val){
                elements.push(val.referencia)
            })
            $('#search').autocomplete({
                source : elements
            })
        })
    })
})

观点:

<head>
<link href="<?=base_url()?>css/ui-lightness/jquery-ui-1.10.3.custom.css" media="screen" type="text/stylesheet" rel="stylesheet" />

<form>
    <label for="search">Search</label>
    <input id="search" type="text"/>
    <input value="<?=base_url()?>" id="hiddenurl" type="hidden">
    <input type="submit" value="submit"/>
</form>

<script src="<?=base_url()?>js/jquery-1.9.1.js" type="text/javascript"></script>
<script src="<?=base_url()?>js/jquery-ui-1.10.3.custom.min.js" type="text/javascript"></script>
<script src="<?=base_url()?>js/jquery-ui-1.10.3.custom" type="text/javascript"></script>
<script src="<?=base_url()?>js/autocomplete.js" type="text/javascript"></script>

【问题讨论】:

    标签: javascript database codeigniter autocomplete double-submit-problem


    【解决方案1】:

    您为 AJAX 调用提供了错误的 URL。

    改变这一行:

    var fullurl = $('#hiddenurl').val() +    'autoComplete_v.php/autoComplete_c/getResult/' + searched
    

    这里的$('#hiddenurl').val() 是您的base_url()。所以完整的 URL 将是:

     var fullurl = $('#hiddenurl').val() +    'controller_class_name/getResult/' + searched
    

    在 CodeIgniter 中你的 URL 是这样的:

    base_url/controller_class_name/method_name/parameter1/parameter2....
    

    您的 autocomplete_v.php 将产生错误。您可以检查您的 JavaScript 如何与 Firebug 一起使用。

    【讨论】:

    • 非常感谢!现在我遇到了引导 css 的问题,但我会尝试解决它们!谢谢
    猜你喜欢
    • 2018-12-31
    • 2014-10-22
    • 1970-01-01
    • 2012-10-22
    • 2013-11-25
    • 1970-01-01
    • 2021-12-15
    • 2017-10-08
    相关资源
    最近更新 更多