i have two product cards each have it's own category like color,size,etc and each have add to cart button. im using useRef() hook to get the selected category by user. and console it, when i click add to cart button.the problem is im only getting the second product category selected by the user whenever i press both buttons. please do check the code below.feel free to ask for any clarification.
import "./Card.css";
import { useRef } from "react";
function Card() {
const colorRef = useRef();
const quantityRef = useRef();
const sizeRef = useRef();
const submitHandler = (event) => {
event.preventDefault();
const selectedColor = colorRef.current.value;
const selectedQuantity = quantityRef.current.value;
const selectedSize = sizeRef.current.value;
const selectedData = {
color: selectedColor,
quantity: selectedQuantity,
size: selectedSize
};
console.log(selectedData);
};
return (
<div className="main-container">
<div className="container">
<div className="image-container">
<img
src="https://images.pexels.com/photos/9558601/pexels-photo-9558601.jpeg?auto=compress&cs=tinysrgb&w=1260&h=750&dpr=1"
alt=""
/>
</div>
<h2> T-Shirt </h2>
</div>
<form className="form-conatiner" onSubmit={submitHandler}>
<div className="selectors">
<p>Solid Round Neck T-shirt</p>
<select id="color" ref={colorRef} name="color" required>
<option>Color</option>
<option value="black">Black</option>
<option value="green">Green</option>
<option value="orange">Orange</option>
</select>
<select ref={quantityRef} name="qantity" required>
<option>Quantity</option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
</select>
<select ref={sizeRef} name="size" required>
<option>Size</option>
<option value="medium">Medium</option>
<option value="large">Large</option>
<option value="small">Small</option>
</select>
<div>
<button>Add to Cart</button>
</div>
</div>
</form>
<div className="container">
<div className="image-container">
<img
src="https://images.pexels.com/photos/440320/pexels-photo-440320.jpeg?auto=compress&cs=tinysrgb&w=1260&h=750&dpr=1"
alt=""
/>
</div>
<h2> i-Watch </h2>
</div>
<div className="form-conatiner">
<div className="selectors">
<p>Dizo watch with amlod </p>
<select id="2" ref={colorRef} name="color" required>
<option>Brand</option>
<option value="Apple">Apple</option>
<option value="Samsung">Samsung</option>
<option value="Pixel">Pixel</option>
</select>
<select ref={quantityRef} name="qantity" required>
<option>Quantity</option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
</select>
<select ref={sizeRef} name="size" required>
<option>size </option>
<option value="29mm">29mm</option>
<option value="34mm">34mm</option>
<option value="42mm">42mm</option>
</select>
<div>
<button onClick={submitHandler}>Add to Cart</button>
</div>
</div>
</div>
</div>
);
}
export default Card;