簡體   English   中英

Select DataTable中一行的按鈕

[英]Select a button of a row in DataTable

我有一個數據表,我在其中從數據庫中獲取數據,每行帶有 Jquery 我有兩個按鈕可以接受或拒絕某些內容,我想知道當我拒絕某些內容時該怎么辦,accepr 的按鈕消失了,如果我接受同樣的事情發生在另一個拒絕按鈕上

public function mostrarTabla(){ 

    if (isset($_GET["perfilOculto"])) {

        $item = "idUsuario";
        $valor = $_GET["perfilOculto"];

        $proyectos = ControladorProyectos::ctrMostrarProyectos($item, $valor);

        if(count($proyectos) == 0){

            echo '{"data": []}';

            return;
        }

        $datosJson = '{

            "data": [ ';

            for($i = 0; $i < count($proyectos); $i++){

                $item = "id";
                $valor = $proyectos[$i]["empleadoAsignado"];

                $traerEmpleado = ControladorUsuarios::ctrMostrarEmpleados($item, $valor);

                $empleado = $traerEmpleado[0]["nombreEmpleado"] ." ". $traerEmpleado[0]["apellidoEmpleado"];

                $dato = $proyectos[$i]["idCliente"];

                $clientes = ControladorProyectos::ctrMostrarClientes($dato);

                $cliente = $clientes[0]["nombreEmpresa"];

                $clienteContacto = $clientes[0]["emailContacto"];

                if($proyectos[$i]["aceptado"] == 0){

                    $colorEstado = "btn-info";
                    $textoEstado = "Aceptado";
                    $estadoAceptado = 1;

                    $colorEstado2 = "btn-danger";
                    $textoEstado2 = "Cancelado";
                    $estadoAceptado2 = 2;

                    $colorEstado3 = "btn-info";
                    $textoEstado3 = "Pendiente de aceptar";
                    $estadoTarea = 1;

                    $estado = "<button class='btn btn-xs aceptado btnAcptado ".$colorEstado." idProyecto='". $proyectos[$i]["id"]."' estadoAceptado='".$estadoAceptado."' estadoBoton='".($i+1)."'>".$textoEstado."</button>&nbsp";

                    $estado2 = "<button class='btn btn-xs rechazado btnRechazado ".$colorEstado2."' idProyecto='". $proyectos[$i]["id"]."' estadoAceptado2='".$estadoAceptado2."'>".$textoEstado2."</button>";

                    $estado3 = "<button class='btn btn-xs btnEstado ".$colorEstado3."' idProyecto='". $proyectos[$i]["id"]."' estadoTarea='".$estadoTarea."'>".$textoEstado3."</button>";

                    $botones =  "<div class='btn-group'><button class='btn btn-warning btnEditarProyecto' idProyecto='".$proyectos[$i]["id"]."' data-toggle='modal' data-target='#modalEditarProyecto'><i class='fa fa-pencil'></i></button><button class='btn btn-danger btnEliminarProyecto' idProyecto='".$proyectos[$i]["id"]."'><i class='fa fa-times'></i></button></div>"; 


                } else if($proyectos[$i]["aceptado"] == 1){

                    $colorEstado = "btn-info";
                    $textoEstado = "Aceptado";
                    $estadoAceptado = 1;

                    $colorEstado2 = "invisible";
                    $textoEstado2 = "Cancelado";
                    $estadoAceptado2 = 2;

                    $colorEstado3 = "btn-info";
                    $textoEstado3 = "En proceso";
                    $estadoProyecto2 = 1;

                    $estado2 = "<button class='".$colorEstado2."'></button>";

                    $estado = "<button class='btn btn-xs aceptado btnAcptado ".$colorEstado."' idProyecto='". $proyectos[$i]["id"]."' estadoAceptado='".$estadoAceptado."'>".$textoEstado."</button>&nbsp";

                    $estado3 = "<button class='btn btn-xs btnEstado ".$colorEstado3."' idProyecto='". $proyectos[$i]["id"]."' estadoProyecto2='".$estadoProyecto2."'>".$textoEstado3."</button>";

                    $botones =  "<div class='btn-group'><button class='btn btn-warning btnEditarProyecto' idProyecto='".$proyectos[$i]["id"]."' data-toggle='modal' data-target='#modalEditarProyecto'><i class='fa fa-pencil'></i></button><button class='btn btn-danger btnEliminarProyecto' idProyecto='".$proyectos[$i]["id"]."'><i class='fa fa-times'></i></button></div>"; 

                } else {
                    $colorEstado = "invisible";
                    $textoEstado = "Aceptado";
                    $estadoAceptado = 1;

                    $colorEstado2 = "btn-warning";
                    $textoEstado2 = "Cancelado";
                    $estadoAceptado2 = 2;

                    $colorEstado3 = "btn-info";
                    $textoEstado3 = "Proyecto cancelado";
                    $estadoProyecto2 = 3;

                    $estado = "<button class='".$colorEstado."'></button>";

                    $estado2 = "<button class='btn btn-xsr echazado btnCancelar ".$colorEstado2."' idProyecto='". $proyectos[$i]["id"]."' estadoAceptado2='".$estadoAceptado2."'>".$textoEstado2."</button>";

                    $estado3 = "<button class='btn btn-xs btnEstado ".$colorEstado3."' idProyecto='". $proyectos[$i]["id"]."' estadoProyecto2='".$estadoProyecto2."'>".$textoEstado3."</button>";

                    $botones =  "<div class='btn-group'><button class='btn btn-warning btnEditarProyecto' idProyecto='".$proyectos[$i]["id"]."' data-toggle='modal' data-target='#modalEditarProyecto'><i class='fa fa-pencil'></i></button><button class='btn btn-danger btnEliminarProyecto' idProyecto='".$proyectos[$i]["id"]."'><i class='fa fa-times'></i></button></div>"; 
                }

                $algo = "<div class='btn-group'>";

                $finAlgo = "</div>";



                $datosJson .= '[
                    "'.$cliente.'",
                    "'.$proyectos[$i]["nombreProyecto"].'",
                    "'.$clienteContacto.'",
                    "'.$algo.$estado.$finAlgo.$algo.$estado2.$finAlgo.'",
                    "'.$estado3 .'",
                    "'.$empleado.'",
                    "'.$botones.'"
                ],';
            }

            $datosJson = substr($datosJson, 0, -1);

            $datosJson.=  ']

        }'; 

        echo $datosJson;
    }
}

在 JavaScript 點擊事件我喜歡這樣

$(document).on("click", ".btnRechazado", function(){

  var idProyecto = $(this).attr("idProyecto");
  var estadoAceptado2 = $(this).attr("estadoAceptado2");
  var estadoProyecto2 = 1;

  console.log(estadoAceptado2);

  var datos = new FormData();
    datos.append("idProyecto", idProyecto);
    datos.append("activarProyecto", estadoAceptado2);
    datos.append("estadoProyecto2", estadoProyecto2);

    $.ajax({

    url:"ajax/proyectos.ajax.php",
    method: "POST",
    data: datos,
    cache: false,
      contentType: false,
      processData: false,
      success: function(respuesta){
        console.log(respuesta);

        if(window.matchMedia("(max-width:767px)").matches){

           swal({
            title: "El usuario ha sido actualizado",
            type: "success",
            confirmButtonText: "¡Cerrar!"
          }).then(function(result) {

              if (result.value) {

              window.location = "proyectos";

            }

          });


    }
      }

    })

    if(estadoAceptado2 == 2){

      $(this).addClass('btn-danger');
      $(this).removeClass('btn-info');
      $(this).html('Cancelado');

      $("tr").find('nombreTexto').hide();

    }

})

在此處輸入圖像描述

兩個buttons都是<div class='btn-group'>孩子嗎? 如果是,您可以在button單擊event上執行以下操作:

$(document).on('click', '.btnRechazado', function(){
    $(this).closest('div.btn-group').find('.btnEliminarProyecto').remove();
    //your code
});

或者,如果兩個buttons都是siblings elements

$(this).siblings('button').remove();

如果您不想從DOM中移除<button>元素,您可以將remove()更改為hide()

JQuery remove() and hide() API Documentation: https://api.jquery.com/remove/ , https://api.jquery.com/hide/

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM