如何使用ajax在cakephp中保存复选框值?
我想使用ajax保存复选框的值 下面是我希望更新以使用ajax的当前代码 这里是风景如何使用ajax在cakephp中保存复选框值?,ajax,cakephp,jquery,Ajax,Cakephp,Jquery,我想使用ajax保存复选框的值 下面是我希望更新以使用ajax的当前代码 这里是风景 <?php $i = 0; foreach ($summary as $sum) { ?> <tr class="font-size12"> <td><p><?php echo $sum['posts']['title']; ?></p>
<?php $i = 0;
foreach ($summary as $sum) {
?>
<tr class="font-size12">
<td><p><?php echo $sum['posts']['title']; ?></p></td>
<td class="width450"><p><?php echo $sum['posts']['content']; ?></p></td>
<td><p class="margin-left28"><?php echo $sum['members']['username']; ?></p></td>
<td><p><?php echo $sum['posts']['deadline']; ?></p></td>
<?php echo $this->Form->create("Posts", array("action" => "update_checkbox")) ?>
<td>
<?php
echo $this->Form->input('Post.' . $i . '.id', array("type" => "hidden", "label" => false, "value" =>
$sum['posts']['id']))
?>
<?php
echo $this->Form->input('Post.' . $i . '.done', array("type" => "checkbox", "label" => false, "value" => "1", "id" => "idCheck[]", "onclick" => "getboxes()"))
?>
</td>
</tr>
<?php $i++;
}
?>
</table>
<?php echo $this->Form->end() ?>
控制器
public function update_checkbox() {
// debug($this->data);
$var = $this->Post->saveCheckBox($this->data);
$this->set("result", $var);
}
模型
public function saveCheckBox($checkbox) {
debug($checkbox);
$this->saveAll($checkbox['Post']);
}
编辑:我在复选框中添加了一个侦听器根据您当前的代码,有两种方法可以将复选框值存储到数据库中。 或者,您必须操作接收到的已发布数据到ajax_方法()中 并使其成为如下所示的数组
[Post] => array(
[0] => ....
[1] => ....
);
然后可以使用$this->Post->saveAll($this->request->data)
或者,您可以使用以下代码将复选框值保存到数据库中
echo $this->Form->input('Case.CHECK_ID][', array('type' => 'checkbox'));
然后您可以使用saveAll()方法。您已经取得了多少进展?你有没有把监听器放在复选框上,当监听器被更改时会触发一个函数?如果您已经这样做了,请查看jQueryAjax函数。它可以发送带有数据的post请求,其行为类似于正常的post表单。@swiecki yeps我在复选框中添加了一个侦听器,但仍然不会在数据库中保存值:(
echo $this->Form->input('Case.CHECK_ID][', array('type' => 'checkbox'));