我正在尝试用Struts2 JSON和Select2填充<select>
标记。服务器返回一个JSON,如下所示:
{"orphanets":[{"idDiagOrphanet":11509,"nomDiagOrphanet":"FACOMATOSIS CESIOFLAMMEA"},{"idDiagOrphanet":21782,"nomDiagOrphanet":"AUTOINFLAMMATION"}]}
如何格式化/解析结果以使其工作?我知道它需要id
和text
字段,但不能让它工作:
$("#selCodOrphanet").select2({
quietMillis: 300,
placeholder: "Buscar diag. Orphanet...",
minimumInputLength: 4,
ajax: {
url: '../json/getOrphanets',
dataType: 'json',
data: function (term, page) {
return {
term: term
};
},
results: function (data, page) {
return { results: data.orphanets };
},
id: function(item) {
return item.idDiagOrphanet;
},
formatResult: function(item) {
return "<div class='select2-user-result'>" + item.nomDiagOrphanet + "</div>";
}
}
});
2条答案
按热度按时间nhjlsmyf1#
我试着搜索了一下,但没有找到
id: function(item) {
不管怎样,我有个快速解决办法
1.将响应视为普通字符串
1.将
idDiagOrphanet
替换为id
,将nomDiagOrphanet
替换为text
,然后返回此字符串而不是return { results: data.orphanets };
还有一种方法:Modifying a JSON object by creating a New Field using existing Elements
ckocjqey2#
尝试
添加了命名空间为
/json
的getOrphanets
操作的限定URLMap。应进行相应的配置。不要转义标记,因为你在结果中显示HTML。