Aria 属性不会添加到结果中
Aria attributes not be added to results
我正在使用 select 2 版本 4.0.2 并创建了一个 select 来通过 ajax 查找远程数据。
我得到的数据没问题,但是在呈现结果时,没有添加 aria-selected 属性,因此我无法 select 任何选项。
我认为这可能与 templateResult 和 templateSelection 有关,但我不知道需要更改什么。
Jquery:
$("#select2").select2({
theme: "bootstrap",
ajax: {
url: "/search/games",
dataType: 'json',
delay: 250,
data: function (params) {
return {
q: params.term, // search term
type: "suggest"
};
},
processResults: function (data, params) {
return {
results: data.games,
};
},
cache: true
},
escapeMarkup: function (markup) { return markup; },
minimumInputLength: 3,
templateResult: formatResult,
templateSelection: formatSelection
});
function formatResult(game) {
markup = "<p>" + game.name + "</p>";
return markup;
};
function formatSelection(game) {
markup = "<p>" + game.name + "</p>";
return markup;
}
表格:
= form_for [:member,@event], :html => {:class => "formtastic form-horizontal"} do |f|
%fieldset
%div{:class => "control-group"}
= f.label :game_id, :class => "control-label"
%div{:class => "controls"}
= f.select :game_id, "", {}, :class => "form-control"
原来在处理结果时,数据必须映射到 id 和文本属性才能被识别:
processResults: function (data, params) {
return {
results: jQuery.map( data.games, function( game ) {
var arr = {id:game.name,text:game.name};
return arr;
}),
};
}
我正在使用 select 2 版本 4.0.2 并创建了一个 select 来通过 ajax 查找远程数据。
我得到的数据没问题,但是在呈现结果时,没有添加 aria-selected 属性,因此我无法 select 任何选项。
我认为这可能与 templateResult 和 templateSelection 有关,但我不知道需要更改什么。
Jquery:
$("#select2").select2({
theme: "bootstrap",
ajax: {
url: "/search/games",
dataType: 'json',
delay: 250,
data: function (params) {
return {
q: params.term, // search term
type: "suggest"
};
},
processResults: function (data, params) {
return {
results: data.games,
};
},
cache: true
},
escapeMarkup: function (markup) { return markup; },
minimumInputLength: 3,
templateResult: formatResult,
templateSelection: formatSelection
});
function formatResult(game) {
markup = "<p>" + game.name + "</p>";
return markup;
};
function formatSelection(game) {
markup = "<p>" + game.name + "</p>";
return markup;
}
表格:
= form_for [:member,@event], :html => {:class => "formtastic form-horizontal"} do |f|
%fieldset
%div{:class => "control-group"}
= f.label :game_id, :class => "control-label"
%div{:class => "controls"}
= f.select :game_id, "", {}, :class => "form-control"
原来在处理结果时,数据必须映射到 id 和文本属性才能被识别:
processResults: function (data, params) {
return {
results: jQuery.map( data.games, function( game ) {
var arr = {id:game.name,text:game.name};
return arr;
}),
};
}