Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

213
Views
Quiero agregar nuevas tareas y editarlas. Cuando trato de actualizar 1 tarea, todas las tareas para las que se hizo clic en el icono de edición anteriormente se actualizan. ¿Porque?
  1. saveButton tiene 2 controladores de eventos para "hacer clic", 1 para actualizar, 1 para agregar una nueva tarea
  2. editThis () es un controlador de eventos para editar el ícono, copia los detalles de la tarea seleccionada en los campos de entrada para tomar la actualización. saveButton se adjunta con un controlador de eventos anónimo que guarda la actualización en localStorage, UI
  3. Los problemas para los que se hizo clic en el "icono de edición" se actualizan en lugar de 1 y también se agrega una nueva tarea además de la actualización.
 /* default value is 0, indicates that new task should be added when saveButton is clicked */ let currentOperation = 0; function editThis(event) { currentOperation = 1; let saveButton = document.getElementsByClassName("form__submit")[0]; // this variable is used to identify which task needs to be updated let currentItemId = event.target.parentNode.dataset.dataId; // each task is stored in localStorage as task[i]= JSONObject.stringify() let selectedTask = JSON.parse(localStorage.getItem("task[" + currentItemId + "]")); // task details are transferred to input fields to edit inputs[0].value = selectedTask.title; inputs[1].value = selectedTask.date; inputs[2].value = selectedTask.status; saveButton.addEventListener("click", function() { if (currentOperation == 1) { //inputs[x] = document.getElementsByClassName("input")[x] let updatedObject = { title: inputs[0].value, date: inputs[1].value, status: inputs[2].value }; localStorage.setItem("task[" + currentItemId + "]", JSON.stringify(updatedObject)); document.getElementsByClassName("todo-container")[currentItemId].firstChild.nodeValue = updatedObject.title + " " + updatedObject.date + " " + updatedObject.status;// .todo-container has 2 children nodes, 1st contains task details and 2nd contains edit icon to which editThis event handler is attached setTimeout(function () { currentOperation = 0; }, 20000); } }); }

Esta imagen muestra el ícono de edición de ubicación, el botón Guardar, el contenedor de tareas pendientes.

about 4 years ago · Juan Pablo Isaza
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!