如何在Jquery DataTables中删除标签

时间:2016-04-20 10:18:17

标签: javascript json codeigniter datatables

我正在将CodeIgniter和DataTables(link)与库IgnitedDatatables(link)一起使用。

我不知道如何在DataTables中使用像strip_tags()这样的东西。我只需要从JSON数据中删除所有html标记输出。

我的JavaScript代码:



var table = $('#dtslider').DataTable({
  ajax: {
    url: baseurl + 'admin/Administrator/getdata_slider',
    type: "POST"
  },
  processing: true,
  serverSide: true,
  columns: [{
    data: "idHome",
    visible: false
  }, {
    data: "jdlHome"
  }, {
    data: "isiHome",
    sType: 'html'
  }, {
    data: "Actions",
    searchable: false
  }],
  "order": [
    [0, "asc"]
  ]
});




HTML代码:



<div class="box-body">
  <div class="order-column">
    <table id="dtslider" class="table table-striped table-bordered">
      <thead class="dt-right">
        <tr>
          <th>id</th>
          <th>Judul Panel</th>
          <th>Isi Panel</th>
          <th>Actions</th>
        </tr>
      </thead>
      <tbody></tbody>
    </table>
  </div>
</div>
<!-- /.box-body -->
&#13;
&#13;
&#13;

输出: enter image description here 在图像输出中,在第2行和第3行之前存在强。我需要在输出中删除所有html标记。我已经尝试了类似sType和createdrow的东西,但仍然没有结果。也许是因为我仍然是DataTables和JavaScript的新手。有人能帮助我吗?

编辑(更多代码):

getdata_slider:

&#13;
&#13;
public function getdata_slider()
	{
		$column = 'idHome, jdlHome, isiHome';
		$id     = 'idHome';
		$table  = 'home';
		$columnwhere = 'ketHome';
		$key 	= '1';

		$this->Model_administrator->getDatatablesCustom2($column, $id, $table, $columnwhere, $key);
		echo $this->datatables->generate();
	}
&#13;
&#13;
&#13;

getDatatablesCustom2:

&#13;
&#13;
public function getDatatablesCustom2($column, $id, $table, $columnwhere, $key)
	{
		$this->load->library('Datatables');
		$this->load->helper('Datatables_helper');
		$this->datatables->select($column)->where($columnwhere, $key)
		->unset_column('file')
		->add_column('file','<a href="'.base_url("assets/uploads/$1").'">$1</a>', 'file')
		->add_column('Actions', get_buttons('$1'), $id)
		->from($table);
	}
&#13;
&#13;
&#13;

2 个答案:

答案 0 :(得分:1)

我会使用columns.render - 选项在呈现数据之前对其进行操作。

答案 1 :(得分:0)

sType,createRow,甚至columnRender都没有为我做任何事情。我不知道故障是在图书馆,jquery还是愚蠢的我(后者当然是70%的错误。)。

但是,谢天谢地,我在库函数中找到了edit_column。

我的代码现在看起来像这样:

&#13;
&#13;
public function getDatatablesCustom2($column, $id, $table, $columnwhere, $key)
	{
		$this->load->library('Datatables');
		$this->load->helper('Datatables_helper');
		$this->datatables->select($column)->where($columnwhere, $key)
		->unset_column('file')
		->edit_column('isiHome', '$1', 'strip_tags(isiHome)')
		->add_column('file','<a href="'.base_url("assets/uploads/$1").'">$1</a>', 'file')
		->add_column('Actions', get_buttons('$1'), $id)
		->from($table);
	}
&#13;
&#13;
&#13;

感谢所有指针和帮助:)