Codeigniter带有引导程序x可编辑和多个输入

时间:2013-09-01 00:48:14

标签: codeigniter input x-editable

我一直试图弄清楚如何做到这一点,但我找不到任何解决方案或答案。 我正在使用x-editable for bootstrap和codeigniter而且让我疯狂的问题是我不知道如何将x-editable与CI集成,当我有多个输入与相同的“pk”相关时页。

例如,我的材料只有一个“名称”和“评论”。当我尝试编辑单个值(例如,材质的“名称”)时,x-editable插件会发送一个我在后端捕获的值,然后发送到模型并进入de数据库。 这很好用,但是当我在我的数据库中编辑“name”列时,“comment”列同时改为“name”,而不是保留在实际值中。

Init x-editable插件

$('.inline-editable').editable({
    selector: 'a.editable-click',
    type: 'text',
    url: 'admin/material/update/',
    title: 'Click para editar',
});

这是可编辑的x输入

<tr class="entity-row row-fluid inline-editable" data-section="material" data-pk="1">
    <td>
        <a  href="#" id="name-12" class="entity-material editable-click" data-name="name" data-type="text">Name of the material</a>
    </td>
    <td>
        <a href="#" id="material-12" class="entity-material-comment editable-click" data-name="comment" data-type="textarea">This is the comment of the material</a>
    </td>
</tr>

后端控制器方法

public function update() {
$this->db_data['id'] = $this->input->post('pk');
    $this->db_data['name_value'] = $this->input->post('value'); // Should be the name $value
    $this->db_data['comment_value'] = $this->input->post('value'); // This should be the comment $value

    // I try to capture this values for the db columns name to be edited
    // But i know this can't be possible because 
    // they have the same $_POST variable name.
    $this->db_data['db_column_name'] = $this->input->post('name');
    $this->db_data['db_column_comment'] = $this->input->post('name');

    $this->entity_model->update_entity($this->db_table, $this->db_data);
}

后端模型方法

function update_entity($table, $data) {
    $this->table = $table;

    $query .= $this->db->set($data['db_column_name'], $data['name_value']);
    $query .= $this->db->set($data['db_column_comment'], $data['comment_value']);
    $query .= $this->db->where($this->table.'.id', $data['id']);
    $query .= $this->db->update($this->table);
}

我希望你能理解这一点,因为英语不是我的母语 谢谢!

0 个答案:

没有答案