我有一个简单的部分,其中包含一个带有json复选框的简单块
现在我能够显示带有复选框的块,我能够在单击时将复选框的状态(例如,真或假)保存到json,现在我想以状态(例如真或假)显示这些块。我可以显示带有复选框的块,但是我不知道如何显示带有复选框状态的块,例如true或false,这里是json。
这里是json
{
"movies": [
{
"left": 336.109375,
"top": 78,
"movieid": "1",
"checkbox": true
},
{
"left": 733.109375,
"top": 79,
"movieid": "3",
"checkbox": false
}
],
"connections": []
}
这是我显示块的方式
addMovieBlock(title, flowchart[i].movieid, flowchart[i].left, flowchart[i].top, true, flowchart[i].checkbox);
我在这里得到这个结果
console.log(flowchart[i].checkbox);
显示此
但是我想要的是这个
更新:addmovieBlock函数
// function for generating new block movie
function addMovieBlock(title, id, left, top, addtojson, videoChecked) {
var newMovieBlock = $('<div class="movie-block statemachine-demo node">' + title + ' <span class="remove"><i class="fa fa-trash" aria-hidden="true"></i></span></div>');
newMovieBlock.attr("movieid", id);
newMovieBlock.attr("id", "movieblock" + id);
newMovieBlock.css("left", left + "px");
newMovieBlock.css("top", top + "px");
$(".main-container").append(newMovieBlock);
if (addtojson == true) {
schematJson.push({
left: left,
top: top,
movieid: newMovieBlock.attr("movieid"),
});
}
//for (var i = 0; i < schematJson.length; i++) {
$('<input />', {
type : 'checkbox',
value: 'value'
})
.appendTo(newMovieBlock);
$('input[type=checkbox]').on('change', function(){
$('input[type=checkbox]').prop("checked", false);
$(this).prop("checked", true);
videoChecked = $(this).parent().attr('movieid');
for (var a = 0; a < schematJson.length; a++) {
if (schematJson[a].movieid == videoChecked) {
schematJson[a].checkbox = true;
}else{
schematJson[a].checkbox = false;
}
var moviesparams = JSON.stringify({
moviesparams: schematJson
});
$.ajax({
type: 'POST',
data: {
moviesparams: moviesparams
},
url: 'save_movies_block.php',
success: function(data) {
$('#msg').html(data).fadeIn('slow');
$('#msg').delay(2000).fadeOut('slow');
},
error: function() {
$('#error-msg').html(data).fadeIn('slow');
$('#error-msg').delay(2000).fadeOut('slow');
}
});
}
});
}
我需要更改以获得我想要的东西吗?
答案 0 :(得分:1)
//append checkbox in variable input
var input = $('<input />', {
type : 'checkbox',
value: 'value'
});
//if videoChecked (flowchart[i].checkbox) value is true add attr checked true
if(videoChecked){
input.attr('checked',true);
}else{
//if videoChecked value is false add attr checked false
input.attr('checked',false);
}
input.appendTo(newMovieBlock);