"Я пытаюсь назначить переменную из родительского div в строку json дочерней таблицы и, похоже, не может получить свой javascript прямо.
То, что я хотел бы увидеть, или некоторые варианты:
{"blocks":[{"id":"115",courses:[{"Semester":"S,F","Credits":"3","Subject":"ACT"}, {"Semester":"F","Credits":"6","Subject":"CSI"}]}]
И jQuery у меня до сих пор.
$('#update').click(function (e){
var table = $('#table').tableToJSON();
var blockId = $('#table').closest('div.Block').attr('id');
table = {"block":table};
document.getElementById('courseList').value = JSON.stringify(table);
}
Я не уверен, как добавить переменную, которая мне нужна в объекте? Как вставить blockId?
Я предполагаю, что скобки обозначают то, что вы действительно ищете:
$('#update').on('click', function(){
var table = $('#table').tableToJSON();
var blockId = $('#table').closest('div.Block').attr('id');
var table2 = {};
table2[blockId] = table;
$('#courseList').val( JSON.stringify(table2) );
});
tableToJSON()
создает объект, это не проблема, он будет действительным JSON, как только объект будетtableToJSON()
вtableToJSON()
. Если методtableToJSON()
создает строку, а не объект, вы должны проанализировать ее с помощьюJSON.parse()
прежде чем работать с ней.