【发布时间】:2018-03-19 13:42:12
【问题描述】:
我有以下代码供 select2 使用 ajax 从服务器加载,它工作正常。
Javascript 代码
$('.MySelect2').select2(
{
ajax:
{
url: 'https://example.com/Source',
type: 'POST',
dataType: 'json',
delay: 100,
Results: function (data, page)
{
return {
results: data.items
};
},
data: function (params)
{
return {
q: params.term, page: params.page, pg: 10
};
},
}
});
使用 AJAX 从服务器返回 JSON
{"results":
[{"id": "MyID1","text": "MyText1"},]
,[{"id": "MyID2","text": "MyText2"},]
,[{"id": "MyID3","text": "MyText3"},]
,"pagination": { "more": true }
}
结果选项将是
<option value="MyID1">MyText1</option>
<option value="MyID2">MyText2</option>
<option value="MyID3">MyText3</option>
我的问题是如何在 JSON 中添加更多 data-* 属性,这样我就可以得到类似这样的结果:
<option value="MyID1" data-extra-info="x1">MyText1</option>
<option value="MyID2" data-extra-info="x2">MyText2</option>
<option value="MyID3" data-extra-info="x3">MyText3</option>
【问题讨论】:
-
您可以在创建每个选项时添加 data-extra-info 属性
-
这些选项是使用 JSON 自动创建的。那么在哪里放置数据额外信息呢?我试图把它放在 JSON 中,但它不起作用
-
我建议你阅读jqyery-select2文件有一些解决方案
-
相信我,select2 文档是有史以来最糟糕的文档之一。
-
这个问题你解决了吗?我也有,找不到有效的解决方案..
标签: javascript html json jquery-select2