我使用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>';
};
有人可以帮我这个吗?谢谢!
答案 0 :(得分:0)
使用.attr(att,val)函数,如下所示:
在以下示例的<li>
中为您的<li id='liID'>
ID提供类似liID的名称
然后在给定为attributeToChange的示例中给出要更改的属性的名称,然后在示例中给出要在属性中设置的值:valueToSet。祝你好运
$('#liID').attr('attributeToChange', 'valueToSet');