【问题标题】:jquery autocomplete to show 2 values separated by semicolonjquery自动完成以显示用分号分隔的2个值
【发布时间】:2013-06-13 15:34:35
【问题描述】:

我有一个文本字段,其中名称和地址的自动完成建议应以分号 (;) 分隔。 我正在使用 codeigniter,以下是 jquery 代码:

//to retrieve the name and address values
var business=new Object();
$.ajax({
    'async': false,
    'global': false,
    'url': base_url + '/controller_name/method1',
    'dataType': "json",
    'success': function (data) {
        $.each(data, function(key, value){
            bb = value.b_name+'; '+value.b_add;
            if(key==0)
                bb_json = JSON.stringify(bb);
            else
                bb_json += JSON.stringify(bb);
        });     
    }
});

以上代码运行良好,并将所有名称和地址保存在 bb_json 中。现在我希望它出现在自动完成建议列表中。我为此编写的代码如下-

$('#b_name').autocomplete({
    source      : bb_json,
    max         : 5,
    minLength   : 2,
    open        : function(event, ui) {
        $('ul.ui-autocomplete').addClass('f-dropdown').attr('id', 'bb_ul');
        $(this).autocomplete("widget");  
    }
});

但这不起作用。有人可以帮忙吗???

【问题讨论】:

    标签: jquery ajax codeigniter autocomplete


    【解决方案1】:

    您必须在 $ajax().success() 回调中生成一个有效的 javascript 数组:

    $.ajax({
        'async': false,
        'global': false,
        'url': base_url + '/controller_name/method1',
        'dataType': "json",
        'success': function (data) {
            //data = [{b_name:"foo1",b_add:"bar1"},{b_name:"foo2",b_add:"bar2"},{b_name:"foo3",b_add:"bar3"}]
            bb_json = []
    
            $.each(data, function(key, value){
                bb = value.b_name+'; '+value.b_add;
                bb_json.push(bb);
            });
        }
    }); 
    

    这项工作。

    【讨论】:

      【解决方案2】:

      用以下代码打开:

      select: function( event, ui ) {
      ...
      }
      

      同时删除 open 函数内的自动完成器

      这可能会帮助你Autocompleter

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2012-01-08
        • 1970-01-01
        • 2011-01-18
        • 2016-01-02
        • 2018-10-09
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多