如何从onclick发送两个变量到控制器(codeigniter)

时间:2017-02-21 03:44:43

标签: javascript php html codeigniter

我将两个变量发送到控制器时遇到了问题:

这是我的删除按钮:

<a href="javascript:void(0);" class="btn btn-danger" data-name="<?php echo $data->opsi_color?>" data-id="<?php echo $data->id_opsi_color?>" onclick="hapus_warna(this)"><i class="glyphicon glyphicon-remove"></i></a>

这个javascript:

function hapus_warna(obj)
{
    var id = $(obj).attr('data-id');
    var name = $(obj).attr('data-name');

    if(confirm('Apa anda yakin ingin menghapus '+name+'?')) {
          // ajax delete data from database
          $.ajax({
            url : baseURL + "trueaccon2194/opsional/warna_dihapuskan/" +id +name,
            type: "GET",
            success: function(data) {
               location.reload();
            },
            error: function (jqXHR, textStatus, errorThrown) {
               alert('Error deleting data');
            }
        });
     }
}

我会将 var id和var name 发送给我管理的控制器 这是我的控制器:

function warna_dihapuskan($id,$name){
    $target = $this->input->get('data-name');
    $this->opsional_adm->warna_telah_dihapus($id);
    log_helper("warna", "menghapus warna ".$name."");
}

3 个答案:

答案 0 :(得分:1)

而不是这个

$.ajax({
        url : baseURL + "trueaccon2194/opsional/warna_dihapuskan/" +id +name,

你应该像这样发送

$.ajax({
        url : baseURL + "trueaccon2194/opsional/warna_dihapuskan/?data-id=" +id +'&data-name='+name,

答案 1 :(得分:0)

试试这个

$.ajax({
        url : baseURL + "trueaccon2194/opsional/warna_dihapuskan/?id=" +id +"&name="+name,

在控制器函数中检索这样的参数

function warna_dihapuskan(){
    $name = $this->input->get('name');
 $id = $this->input->get('id');

}

答案 2 :(得分:0)

在HTML中写这个

<a href="javascript:void(0);" class="btn btn-danger" data-name="<?php echo $data->opsi_color?>" data-id="<?php echo $data->id_opsi_color?>" onclick="hapus_warna(<?php echo $data->id_opsi_color?>,<?php echo $data->opsi_color?>)"><i class="glyphicon glyphicon-remove"></i></a>

并在函数中

function hapus_warna(id,name)
{


    if(confirm('Apa anda yakin ingin menghapus '+name+'?')) {
          // ajax delete data from database
          $.ajax({
            url : baseURL + "trueaccon2194/opsional/warna_dihapuskan/" +id+"/" +name,
            type: "GET",
            success: function(data) {
               location.reload();
            },
            error: function (jqXHR, textStatus, errorThrown) {
               alert('Error deleting data');
            }
        });
     }
}