Home > OS >  Get the value from multiple radios, and sum
Get the value from multiple radios, and sum

Time:01-21

Good day

i am doing a survey, but i can't get the values and then get the total from them, i don't have to much exp with react and js. but im willing to learn.

I tryed with map, reduce, etc, but i dont know very well how to make it work, and the code below is the basic form. also i tried with nested arrys, but the onChange parameter got so dificult

I hope u guys can help me, get the values from the selected radio option, and then sum the values from each item selected.

best regars.


import { useForm } from "react-hook-form";
import { useState } from 'react';


function App() {
  //Manejo Errores
  const { register, handleSubmit,formState:{errors} } = useForm();
   //Submit
  const onSubmit = (data) => alert(JSON.stringify(data));
  //Puntuacion
  const [puntuacion, total ] = useState();


  return (
    <div className="App">
      <form onSubmit={handleSubmit(onSubmit)}>
        <table className='Pauta'>
          <thead>
            <tr>
              
              <th scope="col">Parametro</th>
              <th scope="col">Situacion del adulto mayor</th>
              <th scope="col">Puntuacion</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td className='asignacion'>Comer</td>
              <td>
                <div className='descripcion'>
                  <input type="radio" id='opcion-1' name='puntuacion' value="10" onChange={e=>total(e.target.value)} {...register('Comer', { required: "necesita seleccionar una opcion" })} ></input>Totalmente independiente. <br />
                  <input type="radio" id='opcion-2' name='puntuacion' value="5" onChange={e=>total(e.target.value)}{...register('Comer', { required: "necesita seleccionar una opcion" })} ></input>Necesita ayuda para cortar carne,el pan,etc.<br />
                  <input type="radio" id='opcion-3' name='puntuacion' value="0" onChange={e=>total(e.target.value)}{...register("Comer", { required: "necesita seleccionar una opcion" })} ></input>Dependiente. <br />
                </div>
                <div>
                  {errors.Comer && <span>{errors.Comer.message}</span>}
                </div>
               
              </td>
              <td className='valores'>
                10<br />
                5<br />
                0<br />
              </td>
            </tr>
            <tr>
              <td className='asignacion'>Lavarse</td>
              <td>
                <div className='descripcion'>
                  <input type="radio" id='opcion-1' name='puntuacion' value="5" onChange={e=>total(e.target.value)}{...register('Lavarse', { required: "necesita seleccionar una opcion" })} ></input>Independiente entra y sale solo del baño. <br />
                  <input type="radio" id='opcion-2' name='puntuacion' value="0" onChange={e=>total(e.target.value)}{...register('Lavarse',{required:"necesita seleccionar una opcion"})} ></input>Dependiente.<br/>
                </div>
                <div>
                  {errors.Comer && <span>{errors.Comer.message}</span>}
                </div>
               
              </td>
              <td className='valores'>
                5<br />
                0<br />
              </td>
            </tr>
            <tr>
              <td className='asignacion'>Vestirse</td>
              <td>
                <div className='descripcion'>
                  <input type="radio" id='opcion-1' name='puntuacion' value="10" onChange={e=>total(e.target.value)}{...register('Vestirse', { required: "necesita seleccionar una opcion" })} ></input>Independiente: capz de ponerse y quitarse la ropa, abotonarse, atarse los zapatos. <br />
                  <input type="radio" id='opcion-2' name='puntuacion' value="5" onChange={e=>total(e.target.value)}{...register('Vestirse', { required: "necesita seleccionar una opcion" })} ></input>Necesita ayuda.<br />
                  <input type="radio" id='opcion-3' name='puntuacion' value="0" onChange={e=>total(e.target.value)}{...register("Vestirse", { required: "necesita seleccionar una opcion" })} ></input>Dependiente. <br />
                </div>
                <div>
                  {errors.Comer && <span>{errors.Comer.message}</span>}
                </div>
               
              </td>
              <td className='valores'>
                10<br />
                5<br />
                0<br />
              </td>
            </tr>
            <tr>
              <td className='asignacion'>Deposiciones<br/>(valorese la semana pasada)</td>
              <td>
                <div className='descripcion'>
                  <input type="radio" id='opcion-1' name='puntuacion' value="10" onChange={e=>total(e.target.value)}{...register('Deposiciones', { required: "necesita seleccionar una opcion" })} ></input>Contenencia normal. <br />
                  <input type="radio" id='opcion-2' name='puntuacion' value="5" onChange={e=>total(e.target.value)}{...register('Deposiciones', { required: "necesita seleccionar una opcion" })} ></input>Ocacionalemte algun episodio de incontinecnia o <br/> necesita ayuda para la administracion de supositorios o lavativas.<br />
                  <input type="radio" id='opcion-3' name='puntuacion' value="0" onChange={e=>total(e.target.value)}{...register("Deposiciones", { required: "necesita seleccionar una opcion" })} ></input>incontinecnia. <br />
                </div>
                <div>
                  {errors.Comer && <span>{errors.Comer.message}</span>}
                </div>
               
              </td>
              <td className='valores'>
                10<br />
                5<br />
                0<br />
              </td>
            </tr>
            <tr>
              <td className='asignacion'>Miccion<br/>(valorese la semana pasada) </td>
              <td>
                <div className='descripcion'>
                  <input type="radio" id='opcion-1' name='puntuacion' value="10" onChange={e=>total(e.target.value)}{...register('Miccion', { required: "necesita seleccionar una opcion" })} ></input>Contenencia normal o es capaz de cuidarse de la sonda si tiene una puesta. <br />
                  <input type="radio" id='opcion-2' name='puntuacion' value="5" onChange={e=>total(e.target.value)}{...register('Miccion', { required: "necesita seleccionar una opcion" })} ></input>Un episodio como maximo de incontinencia o necesita ayuda para cuidar de la sonda.<br />
                  <input type="radio" id='opcion-3' name='puntuacion' value="0" onChange={e=>total(e.target.value)}{...register("Miccion", { required: "necesita seleccionar una opcion" })} ></input>incontinecnia. <br />
                </div>
                <div>
                  {errors.Comer && <span>{errors.Comer.message}</span>}
                </div>
               
              </td>
              <td className='valores'>
                10<br />
                5<br />
                0<br />
              </td>
            </tr>
            <tr>
              <td className='asignacion'>Usar el restrete</td>
              <td>
                <div className='descripcion'>
                  <input type="radio" id='opcion-1' name='puntuacion' value="10" onChange={e=>total(e.target.value)}{...register('Usuar el retrete', { required: "necesita seleccionar una opcion" })} ></input>Independecia para ir al cuarto de aseo. Quitarse y ponerse la ropa <br />
                  <input type="radio" id='opcion-2' name='puntuacion' value="5" onChange={e=>total(e.target.value)}{...register('Usuar el retrete', { required: "necesita seleccionar una opcion" })} ></input>Necesita ayuda para ir al retrete pero se limpia solo.<br />
                  <input type="radio" id='opcion-3' name='puntuacion' value="0"onChange={e=>total(e.target.value)} {...register("Usuar el retrete",{required:"necesita seleccionar una opcion"})} ></input>Dependiente. <br/>
                </div>
                <div>
                  {errors.Comer && <span>{errors.Comer.message}</span>}
                </div>
               
              </td>
              <td className='valores'>
                10<br />
                5<br />
                0<br />
              </td>
            </tr>
            <tr>
              <td className='asignacion'>Trasladarse</td>
              <td>
                <div className='descripcion'>
                  <input type="radio" id='opcion-1' name='puntuacion' value="15" onChange={e=>total(e.target.value)}{...register('Trasladarse', { required: "necesita seleccionar una opcion" })} ></input>Independiente para ir del sillon a la cama. <br />
                  <input type="radio" id='opcion-2' name='puntuacion' value="10" onChange={e=>total(e.target.value)}{...register('Trasladarse', { required: "necesita seleccionar una opcion" })} ></input>Minima ayuda fisica o supervision para hacerlo.<br />
                  <input type="radio" id='opcion-3' name='puntuacion' value="5" onChange={e=>total(e.target.value)}{...register("Trasladarse", { required: "necesita seleccionar una opcion" })} ></input>Necesita ayuda pero es capaz  de manternse sentado solo. <br />
                  <input type="radio" id='opcion-4' name='puntuacion' value="0" onChange={e=>total(e.target.value)}{...register("Trasladarse", { required: "necesita seleccionar una opcion" })} ></input>Dependiente. <br />
                </div>
                <div>
                  {errors.Comer && <span>{errors.Comer.message}</span>}
                </div>
               
              </td>
              <td className='valores'>
                15<br/>
                10<br/>
                5<br/>
                0<br/>
              </td>
            </tr>
            <tr>
              <td className='asignacion'>Deambular</td>
              <td>
                <div className='descripcion'>
                  <input type="radio" id='opcion-1' name='puntuacion' value="15" onChange={e=>total(e.target.value)}{...register('Deambular', { required: "necesita seleccionar una opcion" })} ></input>Independiente, camina solo 50 metros. <br />
                  <input type="radio" id='opcion-2' name='puntuacion' value="10" onChange={e=>total(e.target.value)}{...register('Deambular', { required: "necesita seleccionar una opcion" })} ></input>Necesita ayuda fisica o supervision para caminar 50 metros.<br />
                  <input type="radio" id='opcion-3' name='puntuacion' value="5" onChange={e=>total(e.target.value)}{...register("Deambular", { required: "necesita seleccionar una opcion" })} ></input>Independiente en silla de ruedas sin ayuda. <br />
                  <input type="radio" id='opcion-4' name='puntuacion' value="0" onChange={e=>total(e.target.value)}{...register("Deambular", { required: "necesita seleccionar una opcion" })} ></input>Dependiente. <br />
                </div>
                <div>
                  {errors.Comer && <span>{errors.Comer.message}</span>}
                </div>
               
              </td>
              <td className='valores'>
                15<br/>
                10<br/>
                5<br/>
                0<br/>
              </td>
            </tr>
            <tr>
              <td className='asignacion'>Escalones</td>
              <td>
                <div>
                  <input type="radio" id='opcion-1' name='puntuacion' value="10" onChange={e=>total(e.target.value)}{...register('Escalones', { required: "necesita seleccionar una opcion" })} ></input>Independiente para bajar y subir escaleras. <br />
                  <input type="radio" id='opcion-2' name='puntuacion' value="5" onChange={e=>total(e.target.value)}{...register('Escalones', { required: "necesita seleccionar una opcion" })} ></input>Necesita ayuda fisica o supervision para hacerlo.<br />
                  <input type="radio" id='opcion-3' name='puntuacion' value="0" onChange={e=>total(e.target.value)}{...register("Escalones", { required: "necesita seleccionar una opcion" })} ></input>Dependiente. <br />
                </div>
                <div>
                  {errors.Comer && <span>{errors.Comer.message}</span>}
                </div>
               
              </td>
              <td className='valores'>
                10<br />
                5<br />
                0<br />
              </td>
            </tr>
            <tr>
              <td></td>
              <td className='asignacion'>Total</td>
              <td><h3>{puntuacion}</h3></td>
            </tr>
          </tbody>
        </table>
        <input type="submit" value="Enviar"></input>
      </form>



    </div>
  );
}

export default App;

CodePudding user response:

Here is how to fix this issue:

import { useForm } from "react-hook-form";
import { useState } from "react";

function App() {
  //Puntuacion
  const [total, setTotal] = useState(0);

  //Manejo Errores
  const {
    register,
    handleSubmit,
    getValues,
    formState: { errors }
  } = useForm();
  //Submit
  // const onSubmit = (data) => alert(JSON.stringify(data));
  const onSubmit = (data) => console.log(data);
  console.log(errors);
  console.log("total", total);

  const handleChange = () => {
    console.log(getValues());
    const data = getValues();
    const values = Object.values(data);
    const sum = values.reduce((acc, value) => {
      if (value !== null) {
        return acc   Number(value);
      }
      return acc;
    }, 0);
    console.log(sum);
    setTotal(sum);
  };

  return (
    <div className="App">
      <form onSubmit={handleSubmit(onSubmit)}>
        <table className="Pauta">
          <thead>
            <tr>
              <th scope="col">Parametro</th>
              <th scope="col">Situacion del adulto mayor</th>
              <th scope="col">Puntuacion</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td className="asignacion">Comer</td>
              <td>
                <div className="descripcion">
                  <input
                    type="radio"
                    id="opcion-1"
                    name="puntuacion"
                    value="10"
                    // onChange={(e) => total(e.target.value)}
                    {...register("Comer", {
                      required: "necesita seleccionar una opcion",
                      onChange: () => {
                        handleChange();
                      }
                    })}
                  ></input>
                  Totalmente independiente. <br />
                  <input
                    type="radio"
                    id="opcion-2"
                    name="puntuacion"
                    value="5"
                    // onChange={(e) => total(e.target.value)}
                    {...register("Comer", {
                      required: "necesita seleccionar una opcion",
                      onChange: () => {
                        handleChange();
                      }
                    })}
                  ></input>
                  Necesita ayuda para cortar carne,el pan,etc.
                  <br />
                  <input
                    type="radio"
                    id="opcion-3"
                    name="puntuacion"
                    value="0"
                    // onChange={(e) => total(e.target.value)}
                    {...register(
                      "Comer",{
                        required: "necesita seleccionar una opcion",
                        onChange: () => {
                          handleChange();
                        }
                      }
                    )}
                  ></input>
                  Dependiente. <br />
                </div>
                <div>{errors.Comer && <span>{errors.Comer.message}</span>}</div>
              </td>
              <td className="valores">
                10
                <br />
                5<br />
                0<br />
              </td>
            </tr>
            <tr>
              <td className="asignacion">Lavarse</td>
              <td>
                <div className="descripcion">
                  <input
                    type="radio"
                    id="opcion-1"
                    name="puntuacion"
                    value="5"
                    // onChange={(e) => total(e.target.value)}
                    {...register("Lavarse", {
                      required: "necesita seleccionar una opcion",
                      onChange: () => {
                        handleChange();
                      }
                    })}
                  ></input>
                  Independiente entra y sale solo del baño. <br />
                  <input
                    type="radio"
                    id="opcion-2"
                    name="puntuacion"
                    value="0"
                    // onChange={(e) => total(e.target.value)}
                    {...register("Lavarse", {
                      required: "necesita seleccionar una opcion",
                      onChange: () => {
                        handleChange();
                      }
                    })}
                  ></input>
                  Dependiente.
                  <br />
                </div>
                <div>{errors.Comer && <span>{errors.Comer.message}</span>}</div>
              </td>
              <td className="valores">
                5<br />
                0<br />
              </td>
            </tr>
            <tr>
              <td className="asignacion">Vestirse</td>
              <td>
                <div className="descripcion">
                  <input
                    type="radio"
                    id="opcion-1"
                    name="puntuacion"
                    value="10"
                    // onChange={(e) => total(e.target.value)}
                    {...register("Vestirse", {
                      required: "necesita seleccionar una opcion",
                      onChange: () => {
                        handleChange();
                      }
                    })}
                  ></input>
                  Independiente: capz de ponerse y quitarse la ropa, abotonarse,
                  atarse los zapatos. <br />
                  <input
                    type="radio"
                    id="opcion-2"
                    name="puntuacion"
                    value="5"
                    // onChange={(e) => total(e.target.value)}
                    {...register("Vestirse", {
                      required: "necesita seleccionar una opcion",
                      onChange: () => {
                        handleChange();
                      }
                    })}
                  ></input>
                  Necesita ayuda.
                  <br />
                  <input
                    type="radio"
                    id="opcion-3"
                    name="puntuacion"
                    value="0"
                    // onChange={(e) => total(e.target.value)}
                    {...register("Vestirse", {
                      required: "necesita seleccionar una opcion",
                      onChange: () => {
                        handleChange();
                      }
                    })}
                  ></input>
                  Dependiente. <br />
                </div>
                <div>{errors.Comer && <span>{errors.Comer.message}</span>}</div>
              </td>
              <td className="valores">
                10
                <br />
                5<br />
                0<br />
              </td>
            </tr>
            <tr>
              <td className="asignacion">
                Deposiciones
                <br />
                (valorese la semana pasada)
              </td>
              <td>
                <div className="descripcion">
                  <input
                    type="radio"
                    id="opcion-1"
                    name="puntuacion"
                    value="10"
                    // onChange={(e) => total(e.target.value)}
                    {...register("Deposiciones", {
                      required: "necesita seleccionar una opcion",
                      onChange: () => {
                        handleChange();
                      }
                    })}
                  ></input>
                  Contenencia normal. <br />
                  <input
                    type="radio"
                    id="opcion-2"
                    name="puntuacion"
                    value="5"
                    // onChange={(e) => total(e.target.value)}
                    {...register("Deposiciones", {
                      required: "necesita seleccionar una opcion",
                      onChange: () => {
                        handleChange();
                      }
                    })}
                  ></input>
                  Ocacionalemte algun episodio de incontinecnia o <br />{" "}
                  necesita ayuda para la administracion de supositorios o
                  lavativas.
                  <br />
                  <input
                    type="radio"
                    id="opcion-3"
                    name="puntuacion"
                    value="0"
                    // onChange={(e) => total(e.target.value)}
                    {...register("Deposiciones", {
                      required: "necesita seleccionar una opcion",
                      onChange: () => {
                        handleChange();
                      }
                    })}
                  ></input>
                  incontinecnia. <br />
                </div>
                <div>{errors.Comer && <span>{errors.Comer.message}</span>}</div>
              </td>
              <td className="valores">
                10
                <br />
                5<br />
                0<br />
              </td>
            </tr>
            <tr>
              <td className="asignacion">
                Miccion
                <br />
                (valorese la semana pasada){" "}
              </td>
              <td>
                <div className="descripcion">
                  <input
                    type="radio"
                    id="opcion-1"
                    name="puntuacion"
                    value="10"
                    // onChange={(e) => total(e.target.value)}
                    {...register("Miccion", {
                      required: "necesita seleccionar una opcion",
                      onChange: () => {
                        handleChange();
                      }
                    })}
                  ></input>
                  Contenencia normal o es capaz de cuidarse de la sonda si tiene
                  una puesta. <br />
                  <input
                    type="radio"
                    id="opcion-2"
                    name="puntuacion"
                    value="5"
                    // onChange={(e) => total(e.target.value)}
                    {...register("Miccion", {
                      required: "necesita seleccionar una opcion",
                      onChange: () => {
                        handleChange();
                      }
                    })}
                  ></input>
                  Un episodio como maximo de incontinencia o necesita ayuda para
                  cuidar de la sonda.
                  <br />
                  <input
                    type="radio"
                    id="opcion-3"
                    name="puntuacion"
                    value="0"
                    // onChange={(e) => total(e.target.value)}
                    {...register("Miccion", {
                      required: "necesita seleccionar una opcion",
                      onChange: () => {
                        handleChange();
                      }
                    })}
                  ></input>
                  incontinecnia. <br />
                </div>
                <div>{errors.Comer && <span>{errors.Comer.message}</span>}</div>
              </td>
              <td className="valores">
                10
                <br />
                5<br />
                0<br />
              </td>
            </tr>
            <tr>
              <td className="asignacion">Usar el restrete</td>
              <td>
                <div className="descripcion">
                  <input
                    type="radio"
                    id="opcion-1"
                    name="puntuacion"
                    value="10"
                    // onChange={(e) => total(e.target.value)}
                    {...register("Usuar el retrete", {
                      required: "necesita seleccionar una opcion",
                      onChange: () => {
                        handleChange();
                      }
                    })}
                  ></input>
                  Independecia para ir al cuarto de aseo. Quitarse y ponerse la
                  ropa <br />
                  <input
                    type="radio"
                    id="opcion-2"
                    name="puntuacion"
                    value="5"
                    // onChange={(e) => total(e.target.value)}
                    {...register("Usuar el retrete", {
                      required: "necesita seleccionar una opcion",
                      onChange: () => {
                        handleChange();
                      }
                    })}
                  ></input>
                  Necesita ayuda para ir al retrete pero se limpia solo.
                  <br />
                  <input
                    type="radio"
                    id="opcion-3"
                    name="puntuacion"
                    value="0"
                    // onChange={(e) => total(e.target.value)}
                    {...register("Usuar el retrete", {
                      required: "necesita seleccionar una opcion",
                      onChange: () => {
                        handleChange();
                      }
                    })}
                  ></input>
                  Dependiente. <br />
                </div>
                <div>{errors.Comer && <span>{errors.Comer.message}</span>}</div>
              </td>
              <td className="valores">
                10
                <br />
                5<br />
                0<br />
              </td>
            </tr>
            <tr>
              <td className="asignacion">Trasladarse</td>
              <td>
                <div className="descripcion">
                  <input
                    type="radio"
                    id="opcion-1"
                    name="puntuacion"
                    value="15"
                    // onChange={(e) => total(e.target.value)}
                    {...register("Trasladarse", {
                      required: "necesita seleccionar una opcion",
                      onChange: () => {
                        handleChange();
                      }
                    })}
                  ></input>
                  Independiente para ir del sillon a la cama. <br />
                  <input
                    type="radio"
                    id="opcion-2"
                    name="puntuacion"
                    value="10"
                    // onChange={(e) => total(e.target.value)}
                    {...register("Trasladarse", {
                      required: "necesita seleccionar una opcion",
                      onChange: () => {
                        handleChange();
                      }
                    })}
                  ></input>
                  Minima ayuda fisica o supervision para hacerlo.
                  <br />
                  <input
                    type="radio"
                    id="opcion-3"
                    name="puntuacion"
                    value="5"
                    // onChange={(e) => total(e.target.value)}
                    {...register("Trasladarse", {
                      required: "necesita seleccionar una opcion",
                      onChange: () => {
                        handleChange();
                      }
                    })}
                  ></input>
                  Necesita ayuda pero es capaz de manternse sentado solo. <br />
                  <input
                    type="radio"
                    id="opcion-4"
                    name="puntuacion"
                    value="0"
                    // onChange={(e) => total(e.target.value)}
                    {...register("Trasladarse", {
                      required: "necesita seleccionar una opcion",
                      onChange: () => {
                        handleChange();
                      }
                    })}
                  ></input>
                  Dependiente. <br />
                </div>
                <div>{errors.Comer && <span>{errors.Comer.message}</span>}</div>
              </td>
              <td className="valores">
                15
                <br />
                10
                <br />
                5<br />
                0<br />
              </td>
            </tr>
            <tr>
              <td className="asignacion">Deambular</td>
              <td>
                <div className="descripcion">
                  <input
                    type="radio"
                    id="opcion-1"
                    name="puntuacion"
                    value="15"
                    // onChange={(e) => total(e.target.value)}
                    {...register("Deambular", {
                      required: "necesita seleccionar una opcion",
                      onChange: () => {
                        handleChange();
                      }
                    })}
                  ></input>
                  Independiente, camina solo 50 metros. <br />
                  <input
                    type="radio"
                    id="opcion-2"
                    name="puntuacion"
                    value="10"
                    // onChange={(e) => total(e.target.value)}
                    {...register("Deambular", {
                      required: "necesita seleccionar una opcion",
                      onChange: () => {
                        handleChange();
                      }
                    })}
                  ></input>
                  Necesita ayuda fisica o supervision para caminar 50 metros.
                  <br />
                  <input
                    type="radio"
                    id="opcion-3"
                    name="puntuacion"
                    value="5"
                    // onChange={(e) => total(e.target.value)}
                    {...register("Deambular", {
                      required: "necesita seleccionar una opcion",
                      onChange: () => {
                        handleChange();
                      }
                    })}
                  ></input>
                  Independiente en silla de ruedas sin ayuda. <br />
                  <input
                    type="radio"
                    id="opcion-4"
                    name="puntuacion"
                    value="0"
                    // onChange={(e) => total(e.target.value)}
                    {...register("Deambular", {
                      required: "necesita seleccionar una opcion",
                      onChange: () => {
                        handleChange();
                      }
                    })}
                  ></input>
                  Dependiente. <br />
                </div>
                <div>{errors.Comer && <span>{errors.Comer.message}</span>}</div>
              </td>
              <td className="valores">
                15
                <br />
                10
                <br />
                5<br />
                0<br />
              </td>
            </tr>
            <tr>
              <td className="asignacion">Escalones</td>
              <td>
                <div>
                  <input
                    type="radio"
                    id="opcion-1"
                    name="puntuacion"
                    value="10"
                    // onChange={(e) => total(e.target.value)}
                    {...register("Escalones", {
                      required: "necesita seleccionar una opcion",
                      onChange: () => {
                        handleChange();
                      }
                    })}
                  ></input>
                  Independiente para bajar y subir escaleras. <br />
                  <input
                    type="radio"
                    id="opcion-2"
                    name="puntuacion"
                    value="5"
                    // onChange={(e) => total(e.target.value)}
                    {...register("Escalones", {
                      required: "necesita seleccionar una opcion",
                      onChange: () => {
                        handleChange();
                      }
                    })}
                  ></input>
                  Necesita ayuda fisica o supervision para hacerlo.
                  <br />
                  <input
                    type="radio"
                    id="opcion-3"
                    name="puntuacion"
                    value="0"
                    // onChange={(e) => total(e.target.value)}
                    {...register("Escalones", {
                      required: "necesita seleccionar una opcion",
                      onChange: () => {
                        handleChange();
                      }
                    })}
                  ></input>
                  Dependiente. <br />
                </div>
                <div>{errors.Comer && <span>{errors.Comer.message}</span>}</div>
              </td>
              <td className="valores">
                10
                <br />
                5<br />
                0<br />
              </td>
            </tr>
            <tr>
              <td></td>
              <td className="asignacion">Total</td>
              <td>
                <h3>{total}</h3>
              </td>
            </tr>
          </tbody>
        </table>
        <input type="submit" />
      </form>
    </div>
  );
}

export default App;

Codesandbox Example: https://codesandbox.io/s/modest-ives-d8dchu

  • Related