Foros del Web » Programando para Internet » Jquery »

[SOLUCIONADO] [Ayuda]No borrar primera linea

Estas en el tema de [Ayuda]No borrar primera linea en el foro de Jquery en Foros del Web. Hola amigos, casi no domino jQuery asi que les pido ayuda para resolver este problema, tengo el siguiente formulario que me agrega filas, dichas filas ...
  #1 (permalink)  
Antiguo 11/02/2014, 17:05
 
Fecha de Ingreso: agosto-2013
Ubicación: Guatemala
Mensajes: 137
Antigüedad: 11 años, 3 meses
Puntos: 4
[Ayuda]No borrar primera linea

Hola amigos, casi no domino jQuery asi que les pido ayuda para resolver este problema, tengo el siguiente formulario que me agrega filas, dichas filas se agregan en la parte inferior, cada linea tiene un boton que borra la fila correspondiente (hasta aqui todo bien), el problema es que quiero deshabilitar el boton de borrar cuando haya una sola fila pero que al tener 2 o más filas si se pueda usar dicho boton, les comparto mi codigo, de ante mano gracias.

Formulario
Código HTML:
<form name="prescor" id="prescor" method="post" action="#">
<table class="formulario">
	<tr>
		<td>Cantidad</td>
		<td><input name="cant" type="text" id="cant" autocomplete="off" onKeyUp="subtotal()" pattern="[0-9]*." step="any"></td>
		<td>Artículo</td>
		<td><input name="idarti" type="text" id="idarti" autocomplete="off" ></td>
	</tr>
	<tr>
		<td>Precio</td>
		<td><input name="prec" id="prec" autocomplete="off" onKeyUp="subtotal()"></td>
		<td>Total</td>
		<td><input name="tota" type="text" id="tota" readonly></td>
		<td><input name="agregar" type="button" value="Agregar" onclick="fn_agregar()" /></td>
	</tr>
</table>
<table id="grilla" class="lista">
	<thead>
	<tr>
        <th>Cant.</th>
        <th>Artículo</th>
        <th>Precio</th>
        <th>Subtotal</th>
        <th></th>
    </tr>
	</thead>
    <tbody>
    </tr>
    </tbody>
    <tfoot>
   	<tr>
	   	<td colspan="2"><strong>No. Lineas:</strong> <span id="span_cantidad"></span></td>
    </tr>
    </tfoot>
</table>
</form> 
Script para manejo de datos.
Código:
<script language="javascript" type="text/javascript" src="../js/jquery-191.js"></script>
<script language="javascript" type="text/javascript" src="../js/jquery-ui-1103.js"></script>
<script language="javascript" type="text/javascript">
function subtotal() { 
   var canti = document.prescor.cant.value; 
   var preci = document.prescor.prec.value;
   try{ 
       canti = (isNaN(parseFloat(canti)))? 0 : parseFloat(canti).toFixed(2); 
       preci = (isNaN(parseFloat(preci)))? 0 : parseFloat(preci).toFixed(2); 
       document.prescor.tota.value = parseFloat(preci*canti).toFixed(2); 
   } 
   catch(e) {} 
};
</script>
<script language="javascript" type="text/javascript">
$(document).ready(function(){
	fn_eliminar();
	fn_cantidad();
});
			
function fn_cantidad(){
	var n = $("#grilla tbody").find("tr").length;
	$("#span_cantidad").text(n);
};

function fn_agregar() {
	cadena = "<tr>";
    cadena = cadena + "<td><input type='text' name='cantidad[]' value='" + $("#cant").val() + "' readonly size='1' required></td>";
    cadena = cadena + "<td><input type='text' name='idarticulo[]' value='" + $("#idarti").val() + "' readonly size='2' required></td>";
	cadena = cadena + "<td><input type='text' name='precio[]' value='" + $("#prec").val() + "' readonly size='4' required></td>";												
	cadena = cadena + "<td><input type='text' name='subtotal[]' value='" + $("#tota").val() + "' readonly size='7' required></td>";				
    cadena = cadena + "<td><a class='elimina'><img src='cancelar.png' width='16' height='16' title='Eliminar Fila'/></a></td>";
    $("#grilla tbody").append(cadena);
	document.getElementById("idarti").value="";
	document.getElementById("cant").value="";
	document.getElementById("prec").value="";
	document.getElementById("tota").value="";
    fn_eliminar();
	fn_cantidad();
};
          
function fn_eliminar()
	{
		$("a.elimina").click(function()
		{
        	id = $(this).parents("tr").find("td").eq(0).html();
            $(this).parents("tr").fadeOut("normal", function()
			{
            	$(this).remove();
				fn_cantidad();
            })
        });
	}
</script>
  #2 (permalink)  
Antiguo 11/02/2014, 23:40
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 13 años
Puntos: 977
Respuesta: [Ayuda]No borrar primera linea

Como veo que agregas las nuevas filas al tbody de la tabla de id "grilla", solamente necesitas saber la cantidad de filas que contiene dicha sección, si es mayor a 1, entonces procedes a borrar las filas, caso contrario, queda como está.

Código Javascript:
Ver original
  1. if ($("#grilla tbody tr").length > 1){
  2.     $(this).parents("tr").fadeOut("normal", function(){
  3.         $(this).remove();
  4.         fn_cantidad();
  5.     });
  6. }

Saludos
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand
  #3 (permalink)  
Antiguo 12/02/2014, 14:54
 
Fecha de Ingreso: agosto-2013
Ubicación: Guatemala
Mensajes: 137
Antigüedad: 11 años, 3 meses
Puntos: 4
Respuesta: [Ayuda]No borrar primera linea

Muchas gracias, me has salvado, la solucion siempre la tuve en frente.

Saludos a vos tambien.

Cita:
Iniciado por Alexis88 Ver Mensaje
Como veo que agregas las nuevas filas al tbody de la tabla de id "grilla", solamente necesitas saber la cantidad de filas que contiene dicha sección, si es mayor a 1, entonces procedes a borrar las filas, caso contrario, queda como está.

Código Javascript:
Ver original
  1. if ($("#grilla tbody tr").length > 1){
  2.     $(this).parents("tr").fadeOut("normal", function(){
  3.         $(this).remove();
  4.         fn_cantidad();
  5.     });
  6. }

Saludos

Etiquetas: primera
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 10:19.