javascript - 我能读到一个词,但不能读到另一个词,这怎么可能?
问题描述
我正在制作带有编辑按钮的 CMS。当您单击编辑按钮时,它应该从 JSON 文件返回到 CMS 端的所有内容,以便您可以实际编辑。但是,当我尝试获取我的 JSONword
时,我只能获取一个,而我word
的 JSON 中有 2 个。
这就是我的 JSON 的样子:
{
"main_object": {
"id": "new",
"getExerciseTitle": "TestToConfirm",
"language": "nl_NL",
"application": "lettergrepen",
"main_object": {
"title": "TestToConfirm",
"language": "nl_NL",
"exercises": [{
"word": "huishoudelijk",
"syllables": [
"huis",
"houdelijk",
"",
""
]
},
{
"word": "Kleedt u zich maar uit.",
"syllables": [
"Kleed",
"u",
"zich",
"uit"
]
}
]
},
"dataType": "json"
}
}
这就是我试图遍历我的方式word
,以便我可以获取所有内容。我确实必须注意,我还将获取数据,syllables
并且我不完全确定创建 2 个不同的循环来获取数据是否不好。还是建议在 1 个循环中同时执行?
$(document).ready(function() {
$.getJSON('json_files/jsonData_' + ID + '.json', function(json) {
// console.log(json);
var exercisetitle = json.main_object.getExerciseTitle;
// console.log(exercisetitle);
$("#getExerciseTitle").val(exercisetitle);
var exercise = json.main_object.main_object.exercises;
$.map(exercise, function(exercise, i) {
var myindex = 1;
$("#addOpdracht").click();
$(".exerciseGetWordInput_" + myindex).val(exercise.word)
myindex++;
});
});
});
代码exerciseGetWordInput_
:#addOpdracht 只是一个创建新练习块的按钮。我认为这与如何循环或我的应用程序失败的可能原因没有太大关系。
function getWordInput(id, cValue) {
cValue = cValue || '';
var wInput = $('<input/>', {
'class': 'exerciseGetWordInput_' + id + ' form-group form-control ExerciseGetWordInput',
'type': 'text',
'name': 'question_takeAudio_exerciseWord[' + exerciseAudioInput + ']',
'placeholder': 'Exercise',
'id': 'exerciseGetWordInput',
'required': true
});
return wInput;
}
解决方案
移出var myindex = 1
循环
var myindex = 1;
$.map(exercise, function(exercise, i) {
$("#addOpdracht").click();
$(".exerciseGetWordInput_" + myindex).val(exercise.word)
myindex++;
});
或者你也可以避免使用额外的变量,比如下面,each
而是使用
$.each(exercise, function(exercise, i) {
$("#addOpdracht").click();
$(".exerciseGetWordInput_" + i).val(exercise.word) // starts with 0
});
推荐阅读
- ruby-on-rails - 无法在 Rails 引擎中初始化工厂机器人工厂
- php - Zend Framework 3:无法将服务解析为工厂
- python - Python - 如何从 Json 列表中提取多个 Json 文件
- docker - 通过 Cloudwatch 发送 docker 统计信息
- c# - C# OpenTK GLControl 绘制立方体不正确
- vert.x - Vertx:取消部署后verticle不是垃圾收集
- python - 如何始终从 Python 中的另一个脚本刷新全局参数?
- javascript - Azure 函数 nodejs 返回 200 OK,响应为空
- web2py - py4web DAL, web2py - (Legacy) 数据库探索 - 如何获取所有表、字段等?
- python - 找不到 Pytube 路径