我使用symfony并在twig上渲染了一些数组数据,并在js中设置了复选框,用于事件点击,复选框,创建ajax并在另一个操作中发送数据。我的问题是如何发送更多参数,现在不仅发送id,因为添加id到标签输入属性,但是需要添加地址一些地方。添加address?
的地方:
{% for taskExecution in taskExecutions %}
<tr>
<td>
<input class="searchType" type="checkbox" name="SharingNotification" id={{ taskExecution.id }}>
<label class="searchtype2label"></label>
</input>
</td>
<td>
{{ taskExecution.address }}
</td>
{% endfor %}
我的js
$('.searchType').click(function(event) {
var objToSend = {};
objToSend[event.target.id] = $(this).is(":checked") === true ? 1 : 0;
$.ajax({
type: "POST",
url: '/app_dev.php/api/bound_invoice/rows/froms/tasks',
data: {ids: objToSend},
success: function (data) {
alert('it worked');
alert(data);
$('#container').html(data);
},
error: function () {
alert('it broke');
},
complete: function () {
alert('it completed');
}
});
}
);
我想发送另一个属性,例如taskExecution.address
像这样
objToSend['address'] = [event.target.address];
怎么办呢?
答案 0 :(得分:0)
如果我正确地理解了你的问题,那么下面的内容应该可以解决问题:
$('.searchType').click(function(event) {
$.ajax({
type: "POST",
url: '/app_dev.php/api/bound_invoice/rows/froms/tasks',
data: {
ids: { event.target.id : $(this).is(":checked") === true ? 1 : 0 },
address : event.target.address
},
success: function (data) {
alert('it worked');
alert(data);
$('#container').html(data);
},
error: function () {
alert('it broke');
},
complete: function () {
alert('it completed');
}
});
}
);
您的代码存在的问题是您要将要提交的所有内容添加到数据对象的“ids”属性中。根据我的更改,ids
将作为1或0传递,address
将以所需的值传递。