这是我向数据表中添加行的方式:
$(document).on('change', '.item-select', function() {
var optionValue = $(this).val();
var optionText = $('.item-select option[value="'+optionValue+'"]').text();
if (optionValue) {
table.row.add({
"id": 'test',
"name": 'test',
"type": 'test',
}).draw();
$('option', this).first().prop('selected', true);
}
});
我有一个对象columns
:
array:3 [▼
"id" => ReflectionProperty {#7030 ▶}
"name" => ReflectionProperty {#7031 ▶}
"type" => ReflectionProperty {#7034 ▶}
]
现在,我想用对象中的字段替换硬编码的字段。这是我的方法:
$(document).on('change', '.item-select', function() {
var optionValue = $(this).val();
var optionText = $('.item-select option[value="'+optionValue+'"]').text();
if (optionValue) {
table.row.add({
{% for key, value in columns %}
{ "{{ key }}": 'test'},
{% endfor %}
}).draw();
$('option', this).first().prop('selected', true);
}
});
控制台中的错误是这样的:
SyntaxError:预期的属性名称,得到了'{'
答案 0 :(得分:1)
您必须删除大括号...
$(document).on('change', '.item-select', function() {
var optionValue = $(this).val();
var optionText = $('.item-select option[value="'+optionValue+'"]').text();
if (optionValue) {
table.row.add({
{% for key, value in columns %}
"{{ key }}": 'test',
{% endfor %}
}).draw();
$('option', this).first().prop('selected', true);
}
});