可以't让select2处理json文件
Can't get select2 to work with a json file
我正在尝试让select2使用外部json文件:json文件如下(它被称为data.json,位于我的网站的根目录中):
{"laender":[
{
"Land" : "Ägypten",
"kurz" : "EG",
"Fahne" : "aegypten"
},
{
"Land" : "Andorra",
"kurz" : "AN",
"Fahne" : "andorra"
}
]}
Javascript看起来像这样:
$(document).ready(function($) {
function formatValues(data) {
return data.Land + ' ' + data.Fahne;
}
$('#countrySelect').select2({
ajax: {
dataType: "json",
url: "data.json",
results: function (data) {
return {results: data};
}
},
formatResult: formatValues
});
(如前所述:Select2从文件中用Ajax加载数据)。HTML中的输出是一个简单的
<div id="countrySelect"></div>
但我无法让它发挥作用。我尝试了很多事情,但都没有成功。此外,我对json和Ajax还相当陌生。
感谢您提前提供的帮助!Dietmar
您的javascript代码适用于4.0.0以下的旧版本select2。如果使用select2 4.0.0,则必须使用processResult而不是result。
尝试更改这些线路
results: function (data) {
return {results: data};
}
喜欢这个
processResults: function (data) {
return {results: data};
}
有关更多信息,select2 4.0.0不再支持隐藏输入。因此,您的#countrySelect必须是select元素,而不是隐藏输入。
对不起,我的英语不好
参考:select2 4.0.0 ajax文档
json中的密钥是:
"Land", "kurz", "Fahne",
但在这种情况下选择2,期望:
"id", "text"
制作:<option value="id"> text </option>
你应该使用地图功能:
processResults: function(data){
return {
results: $.map(data, function(smthg){
return { id: smthg.kurz, text: smthg.Fahne }
})
};
}
例如,我不知道你想要使用哪些值,我使用json,比如:
[
{"id_pr":"1252","pr":"aaa"},
{"id_pr":"1253","pr":"bbb"}
...
]
它是有效的,但是我没有尝试:
{ laender: [
{"id_pr":"1252","pr":"aaa"},
{"id_pr":"1253","pr":"bbb"}
]}
相关文章:
- 可以't让我的if语句处理js中的html表单输入
- keyup事件处理程序更改焦点不适用于快速键入
- 如何使用jquery处理php循环通过元素
- angular.js没有'无法在PhoneGap中处理视图标记
- Webpack/Rect:遵循egghead.io教程,但出现错误:您可能需要一个合适的加载程序来处理此文件类型
- 提示使用服务器端事件处理程序激活JavaScript
- javascript:如何在antlr生成的Lexer中进行错误处理
- 阻止在select2单击时调用ajax
- 如何编写一个具有公共标头的批处理
- 在同一个服务工作者中处理service-worker.js有任何影响吗
- 如何处理node.js节点mongodb中的连接和查询队列
- 通过命令行/批处理文件打开页面时,将javascript代码注入Google Chrome
- 如何处理10页以上的静态页眉/页脚
- 将事件处理程序绑定到任何可能的事件
- 通过ajax将坐标传递到php服务器端,并在处理后检索到javascript
- python到“;流“;字典处理
- 使用javascript进行实时图像处理
- 可以't让select2处理json文件
- 动态添加的元素上的事件处理程序不适用于 select2 插件
- 如何将按钮放入select2结果项并处理其单击