单击功能在codeigniter anchor()中无法正常使用

时间:2018-08-30 03:02:05

标签: javascript php jquery codeigniter onclick

我正在使用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表类中使用该标记。 请帮帮我..提前谢谢

1 个答案:

答案 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
}