我有一个块列表,每个块都有自己的表单构建器(下面的脚本)。我遍历所有块并从中获取 data-builder 和 data-id 值。然后我想从它们创建一个 key=value 数组。然后在构造函数脚本中,将 data-builder 值插入 formData: arr['j'] 并将 data-id 插入 +arr['id']+ 。但它不出来。
var arr = [];
$('div[data-builder]').each(function() {
arr.push('j' : $(this).attr('data-builder'), 'id' : $(this).attr('data-id'));
});
arr.forEach(function(arr) {
let options = {
dataType: 'xml',
onSave: function(evt, formData){showPreview(formData)},
formData: arr['j'],
disableFields: [
'autocomplete',
'file',
'date',
'hidden',
'button',
'checkbox-group',
'radio-group',
'number'
],
disabledAttrs: ["access","required","toggle","inline"],
};
const $fbEditor = $('.build-wrap[data-id="'+arr['id']+'"]');
const formBuilder = $fbEditor.formBuilder(options);
});
在示例的情况下,根据示例使用对象数组更容易:
在问题代码中,这实际上是写的,但是,用于声明对象的花括号被省略了。
此外,问题中的代码将正常工作。