Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros entornos y lenguajes > HTML, Javascript y otros
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

 
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 22-09-2020
jhonalone jhonalone is offline
Miembro
 
Registrado: sep 2007
Ubicación: Madrid
Posts: 547
Poder: 17
jhonalone Va por buen camino
Habilitar boton html deshabilitado

Hola, compañeros.
Estoy desarrollando un sistema de facturación.

Tengo en pantalla una DataTable con los artículos en la que cada úno tiene un botón de añadir.

Cuando pulsamos el botón, se añade el artículo a la factura (en confección) y se desactiva el botón de Añadir para no repetir artículos, ya que en las líneas de la factura (en confección) se puede modificar el número de unidades de cada artículo.

El problema surge cuando se elimina un artículo de la factura ( en confección) y se quiere volver a añadir. Pues el botón queda deshabilitado y no se puede.

He intentado resolverlo de mil y una maneras, pero no lo consigo. La última es esta:

Código PHP:
function activa_aniadir(index){

var 
searchText document.getElementsByName("idarticulo[]")[index].value;    
$.
each($('#tblarticulos tbody tr'),function()
{  
    var 
currentRow=$(this);  
        var 
col1_value=currentRow.find("td:eq(5)").text();
       
    if (
col1_value == searchText)
    { 
alert('encontrado id = '+col1_value); // La identificación de la linea ES CORRECTA
        //var boton = currentRow.find("td:eq(0)").button();
        
currentRow('td:eq(0)').button().removeAttribute("disabled");
    
//    alert(currentRow.closest('tr').index());
//    borrar_filas(currentRow.closest('tr').index());    
    //$(this).removeAttribute("disabled");
    
        //alert(boton.name);
        //    boton[0].innerHTML.disabled="false";
    //    var activar = currentRow.find("td:eq(0)");
    //    activar['#addetalle'].prop("disabled",false);
    
}
/*
         indice = busca_fila(index);   
alert('indice = '+indice);
 // aquí me he quedado. ¿como selecciono el boton Añadir de la fila indice 
 // en la lista de articulos para habilitarlo de nuevo?
 // con 
 var table = $('#tblarticulos').DataTable();
 
table.row(':eq(0)', { page: 'current' }).select();
table('addetalle').prop("disabled",false);
*/


});


El código está en Javascript. Lo pongo en PHP para resaltarlo. La solución debe estar en Javascript.

He conseguido identificar la línea de la DataTable de los artículos.

Pero no sé cómo activar el botón. Veréis que he intentado de casi todo (está comentado)

Os pongo también la declaración de cada línea de la DataTable de los artículos:
Código PHP:
case 'listarArticulos':
            require_once 
"../modelos/Articulo.php";
            
$articulo=new Articulo();

                
$rspta=$articulo->listarActivosVenta();
            
$data=Array();

            while (
$reg=$rspta->fetch_object()) {
                
$btncolor='';
                if (
$reg->stock<=10) {
                    
$btncolor='<button class="btn btn-danger btn-xs">'.$reg->stock.'</button>';
                }elseif (
$reg->stock>10 && $reg->stock<30 ) {
                    
$btncolor='<button class="btn btn-warning btn-xs">'.$reg->stock.'</button>';
                }elseif (
$reg->stock>=30) {
                    
$btncolor='<button class="btn btn-success btn-xs">'.$reg->stock.'</button>';
                }
        
// pasamos el tipo_iva de cada artículo para calcularlo en crearventa.js
        
if ($reg->tipo_iva == 'G') {$impuesto = (floatval($_SESSION['iva_G']));}
        else 
        if (
$reg->tipo_iva == 'R') {$impuesto = (floatval($_SESSION['iva_R']));}
        else 
        if (
$reg->tipo_iva == 'S') {$impuesto = (floatval($_SESSION['iva_S']));}

                
$data[]=array(
                
"0"=>'<button class="btn btn-success btn-xs" id="addetalle" name="addetalle" 
onclick="agregarDetalle('
.$reg->idarticulo.',\''.$reg->nombre.'\','.$reg->precio_venta.',
'
.$reg->stock.','.$impuesto.')"><span class="fa fa-plus"></span> Añadir</button>',
                
"1"=>$reg->nombre,
                
"2"=>$reg->codigo,
                
"3"=>$btncolor,
                
"4"=>"<img src='../files/articulos/".$reg->imagen."' height='40px' width='40px'>",
                  
//lo pongo yo jmms para usarlo al activar de nuevo el boton Añadir
                  
"5"=>$reg->idarticulo
                  
);
            }

            
$results=array(
                 
"sEcho"=>1,//info para datatables
                 
"iTotalRecords"=>count($data),//enviamos el total de registros al datatable
                 
"iTotalDisplayRecords"=>count($data),//enviamos el total de registros a visualizar
                 
"aaData"=>$data); 
            echo 
json_encode($results);

                break; 
Necesito vuestra ayuda. Gracias de antemano.
Saludos Cordiales.
__________________
"Pedid y se os dará; buscad y hallaréis ..." (Lc 11,9-10)
"...si no tengo caridad, nada soy..." (1 Cor 13,1-13)

Última edición por jhonalone fecha: 22-09-2020 a las 18:15:33.
Responder Con Cita
 



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Botón de impresion deshabilitado Analia29 Impresión 3 27-07-2007 21:34:04
crear objeto con un boton en C# (de C# a html) JuanErasmo HTML, Javascript y otros 0 13-01-2007 01:41:09
Habilitar Boton de Busqueda al enfocar Objetos Especificos ygkw API de Windows 6 01-11-2006 15:53:11
Label deshabilitado de color jam888 Varios 2 05-05-2006 00:47:03
Habilitar un Boton sobre un control deshabilitado... ingel Varios 4 28-12-2004 08:57:59


La franja horaria es GMT +2. Ahora son las 19:45:02.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi