我正在尝试向我的 CakePHP 操作发布一组变量,以便我可以编辑它们。该数组是根据表行的 ID 构建的。这是我的 index.ctp 文件中的 javascript 代码。
<script type="text/javascript">
$('.edit_selected').click(function()
{
var selected = new Array();
alert('Edit Selected Has Been Clicked');
$("#[id*=LocalClocks]").each(function()
{
if(false != $(this).is(':checked'))
{
selected.push($(this).attr('id').replace('LocalClocks', ''));
$.ajax({
type: 'POST',
url: "/localhost/LocalClocks/editSelected/",
data: JSON.stringify(selected),
dataType: "json",
success: function(data){ alert(data); alert('Edit Success'); }
});
}
});
});
</script>
我在这里做的是抓取所有以 开头的 id 'LocalClocks'
,然后我修剪'LocalClock'
字符串,所以我最终只得到数字,然后我将该 id 号添加到选定的数组中。我想将此数组发布到我的editSelected()
函数中。
我对发布数据一点也不熟悉,所以我有几个问题。到目前为止我的当前代码是否正确?对于我的editSelected()
函数,它是否需要我试图传递它的数组的参数,或者发布的数据是否被放入$this->request->data
?
这是我的editSelected
行动:
public function editSelected()
{
$this->set('isEditSelValid', false);
$this->set('editSelValidationErrors', false);
if ($this->request->is('post'))
{
$localClocksEntries = $this->LocalClock->find('all');
foreach($localClocksEntries as $LocalClock)
{
$this->LocalClock->id = $LocalClock['LocalClock']['id'];
$this->LocalClock->save($this->request->data);
$this->set('isEditSelValid', true);
$this->set('editSelValidationErrors', false);
}
}
}
我尝试发布数据的原因是因为我需要能够获取我想要编辑的行的 ID。我在上面的 javascript 能够获取并放入数组的每一行中都有复选框。我需要能够循环该数组并将用户输入保存给它们。