jquery Select2:如何在DropDown中向li元素添加属性

时间:2017-01-26 12:57:13

标签: javascript jquery ajax jquery-select2 select2

我使用jquery的select2插件并通过ajax加载获取我的数据。当我设置响应时,我想将属性添加到li - 我的下拉列表中。 我已经通过调用“templateResult”中的函数尝试了它,但在那里我只能回复<li></li>标记中的vakue

我的javascript:

var autocomplete = function () {
        $("body").find("#myDropDown").select2({
            language: "es",
            ajax: {
                url: searchDataUrl,
                type: "POST",
                // dataType: 'json',
                delay: 250,
                data: function (params) {
                    return {
                        term: params.term, // search term
                        page: params.page
                    };
                },
                processResults: function (data, params) {
                    return {
                        results: data.userData,
                        pagination: {
                            more: (params.page * 30) < data.total_count
                        }
                    };
                },
                cache: true
            },
            createTag: function (params) {
                var term = $.trim(params.term);

                if (term === '') {
                    return null;
                }

                return {
                    id: term,
                    text: term,
                    newTag: true // add additional parameters
                }
            },
            escapeMarkup: function (markup) { return markup; },
            minimumInputLength: 3,
            templateResult: formatReponse, //With this it doesnt work
        });
    };

来自templateResult来电的功能:

//When I do this, I have a "<li>"-Tag within a "<li>"-Tag

var formatReponse = function (data) {

        return '<li data-id="'+data.id+'" class="select2-results__option" role="treeitem">'+data.text+'</li>';

      };

有人可以帮我这个吗?谢谢!

1 个答案:

答案 0 :(得分:0)

使用.attr(att,val)函数,如下所示:

在以下示例的<li>中为您的<li id='liID'> ID提供类似liID的名称 然后在给定为attributeToChange的示例中给出要更改的属性的名称,然后在示例中给出要在属性中设置的值:valueToSet。祝你好运

$('#liID').attr('attributeToChange', 'valueToSet');