如何将自定义HTML添加到jQuery自动完成项?

时间:2012-07-08 10:24:39

标签: jquery jquery-ui autocomplete

是否可以将一些html添加到jquery自动完成ui项? 例如,我想将<strong></strong>代码添加到自动填充结果项label: item['name']。我尝试过label: '<strong>'+item['name']+'</strong>,但它是以文字形式应用的,而不是HTML。

$('input[name="customer"]').catcomplete({
    delay: 0,
    source: function(request, response) {
        $.ajax({
            url: 'index.php?route=sale/customer/autocompletefilter_name=' +  encodeURIComponent(request.term),
            dataType: 'json',
            success: function(json) {   
                response($.map(json, function(item) {
                    return {
                        category: item['customer_group'],
                        label: item['name'],
                        customer : item['name'],
                        value: item['customer_id'],
                        customer_group_id: item['customer_group_id'],
                        firstname: item['firstname'],
                        lastname: item['lastname'],
                        email: item['email'],
                        telephone: item['telephone'],
                        fax: item['fax'],
                        address: item['address']
                    }
                }));
            }
        });
    }, 
    select: function(event, ui) {
        //some actions on select
    }
});

揍你。

1 个答案:

答案 0 :(得分:5)

查看Scott Gonzales的自动填充HTML扩展程序 - https://github.com/scottgonzalez/jquery-ui-extensions/blob/master/src/autocomplete/jquery.ui.autocomplete.html.js。它允许您传入HTML作为标签选项。

示例 - http://jsfiddle.net/eay3d/1/

$(function() {
    var availableTags = [
        { label: 'Apple1', value:'Apple1' },
        { label: '<strong>Apple2</strong>', value:'Apple2' },
        { label: 'Apple3', value:'Apple3' }             
    ];
    $( "#tags" ).autocomplete({
        source: availableTags,
        html: 'html'
    });
});

编辑2013年9月22日:修复了源链接,但不再维护