我正在使用Codeigniter 2.2。我正在尝试使用HTML表类库构建表。它还包含一个编辑按钮。这是我的视图文件:
foreach($invoices as $row) {
$data = array(
'name' => 'btn btn-default btn-sm dropdown-toggle',
'type' => 'button',
'content' => '',
'class' => 'btn btn-default btn-sm dropdown-toggle',
'class' => 'entypo-trash',
);
$edit_url = base_url().
'index.php?modal/popup/modal_edit_invoice/'.$row['invoice_id'];
$onclick_edit = array('onclick' => "showAjaxModal('{$url}')");
$links = form_button($data, $js);
$links. = anchor('#', 'edit', $onclick_edit); //here is the issue, on click popup try load , but in a next second page redirect to the index page
$this->table->add_row(
$this->crud_model->get_type_name_by_id('student', $row['student_id']), $row['title'], $row['description'], $row['amount'], $row['amount_paid'], $row['due'], $row['status'], $links
);
}
echo $this->table->generate();
一切正常。但是,当我尝试单击“编辑”按钮时,会弹出我的模型窗口,但在接下来的第二页中,将重定向到索引页面。 这是JavaScript文件:
function showAjaxModal(url) {
// SHOWING AJAX PRELOADER IMAGE
jQuery('#modal_ajax .modal-body').html('<div style="text-align:center;margin-top:200px;"><img src="assets/images/preloader.gif" /></div>');
// LOADING THE AJAX MODAL
jQuery('#modal_ajax').modal('show', {
backdrop: 'true'
});
// SHOW AJAX RESPONSE ON REQUEST SUCCESS
$.ajax({
url: url,
success: function(response) {
jQuery('#modal_ajax .modal-body').html(response);
}
});
}
它与锚标记一起正常工作,但是我不能在HTML表类中使用该标记。 请帮帮我..提前谢谢
答案 0 :(得分:0)
只需更改此行
$onclick_edit = array('onclick' => "showAjaxModal('{$url}')");
对此
$onclick_edit = array('onclick' => "return showAjaxModal('{$url}')");
并像这样更改您的js函数
function showAjaxModal(url) {
// SHOWING AJAX PRELOADER IMAGE
jQuery('#modal_ajax .modal-body').html('<div style="text-align:center;margin-top:200px;"><img src="assets/images/preloader.gif" /></div>');
// LOADING THE AJAX MODAL
jQuery('#modal_ajax').modal('show', {
backdrop: 'true'
});
// SHOW AJAX RESPONSE ON REQUEST SUCCESS
$.ajax({
url: url,
success: function(response) {
jQuery('#modal_ajax .modal-body').html(response);
}
});
return false; //this will stop <a> tag behavior
}