Foros del Web » Programando para Internet » Javascript »

[SOLUCIONADO] Agregar y borrar fechas en array desde input en Javascript

Estas en el tema de Agregar y borrar fechas en array desde input en Javascript en el foro de Javascript en Foros del Web. Quiero agregar y borrar fechas en un array desde un input. He conseguido agregarlas con la funcion fecha() pero me falta borrarlas (quiero hacerlo al ...
  #1 (permalink)  
Antiguo 31/10/2017, 14:08
Avatar de Kursakez  
Fecha de Ingreso: agosto-2015
Mensajes: 19
Antigüedad: 8 años, 8 meses
Puntos: 1
Agregar y borrar fechas en array desde input en Javascript

Quiero agregar y borrar fechas en un array desde un input. He conseguido agregarlas con la funcion fecha() pero me falta borrarlas (quiero hacerlo al pulsar Eliminar con la función eliminarFechas() que estaría por implementar).

A continuación el código de lo que tengo hecho:
Código:
<p id="div_salida"></p>
<script>
 var fechas = new Array();
       function fecha(){
             var fecha = document.getElementById('inputText').value;
             fechas.push(fecha);
                                    
             var pval="";
                                    
             for(i=0;i<fechas.length;i++){
                                        
                   pval=pval+fecha[i]+ " " + "<input type='button' name='eliminar' id='eliminar' value='Eliminar' onClick='eliminarFechas()'>" + "<br/>" ;
               }
                                    
               document.getElementById('div_salida').innerHTML=pval;
       }
</script>

<input type='date' class='tcal' name='inputText' id='inputText' onclick="this.value = ' '">

<input type='button' name='cr' id='cr' value='Insertar' onClick="fecha();">
Visualmente se vería así:




Gracias de antemano por la ayuda!!
  #2 (permalink)  
Antiguo 01/11/2017, 02:07
Avatar de mortiprogramador
Colaborador
 
Fecha de Ingreso: septiembre-2009
Ubicación: mortuoria
Mensajes: 3.805
Antigüedad: 14 años, 7 meses
Puntos: 214
Respuesta: Agregar y borrar fechas en array desde input en Javascript

Pues para eso puedes usar la función array.splice donde el primer parámetro es la posición a borrar,
y la segunda, el número de elementos a borrar a partir de la posición indicada.
En tu caso, el segundo parámetro siempre será 1.

Ahora, para enviar la posición correcta a borrar, aprovechando el ciclo que ya tienes es mandar la i
como parámetro en la función de eliminar.

Código Javascript:
Ver original
  1. //en el ciclo actual
  2. eliminarFechas("+i+")
  3. //la función nueva
  4. function eliminarFechas(p)
  5. {
  6.     fechas.splice(p,1);
  7. }
__________________
"Si consigues ser algo más que un hombre, si te entregas a un ideal, si nadie puede detenerte, te conviertes en algo muy diferente."
Visita piggypon.com

Última edición por mortiprogramador; 01/11/2017 a las 02:14
  #3 (permalink)  
Antiguo 01/11/2017, 04:12
Avatar de xfxstudios  
Fecha de Ingreso: junio-2015
Ubicación: Valencia - Venezuela
Mensajes: 2.448
Antigüedad: 8 años, 10 meses
Puntos: 263
Respuesta: Agregar y borrar fechas en array desde input en Javascript

Prueba asi:
PRUEBA

Código Javascript:
Ver original
  1. var fechas = [];
  2.  
  3. function agregaFecha(){
  4.     var fecha = $("#inputText").val();
  5.  
  6.   fechas.push(fecha);
  7.   $("#div_salida").html("");
  8.                                    
  9.     for(var i=0;i<fechas.length;i++){                              
  10.                 $("#div_salida").append("<li id='"+[i]+"'>"+fechas[i]+ " "+"<input type='button' name='eliminar' id='"+[i]+"' value='Eliminar' onClick='eliminarFechas(this.id)'/></li>");
  11.     }
  12.     $("#inputText").val("");
  13. }
  14.  
  15. function eliminarFechas(X){
  16.     $("li[id="+X+"]").remove();
  17.   delete fechas[X];
  18.   console.log(fechas);
  19. }
__________________
[email protected]
HITCEL
  #4 (permalink)  
Antiguo 01/11/2017, 04:39
Avatar de Kursakez  
Fecha de Ingreso: agosto-2015
Mensajes: 19
Antigüedad: 8 años, 8 meses
Puntos: 1
Respuesta: Agregar y borrar fechas en array desde input en Javascript

¡Muchas gracias a ambos! Conocía splice pero no sabía que para utilizar el ciclo actual se usara "+i+". Tema solucionado.

Etiquetas: funcion, html, input
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 11:50.