Certains cela dépend de l'expérience que vous voulez pour l'utilisateur, mais je pencherais en vue de mettre un élément de sélection dans chaque cellule de table. Vous pouvez ensuite masquer la sélection jusqu'à ce que l'utilisateur sélectionne l'une des valeurs à modifier ou que les éléments de sélection soient visibles tout le temps. Cela est plus facile car vous pouvez placer les valeurs dans la zone de sélection avant que le navigateur ne rende la page. Si ce n'est pas utilisable, par exemple, si le navigateur a du mal à rendre la page en raison de la taille du balisage, alors vous pouvez passer à l'utilisation d'un seul élément select.
Si vous utilisez une seule zone de sélection, cela vous obligerait à la déplacer vers la cellule appropriée et à déterminer également comment obtenir les valeurs possibles dans la zone de sélection. Vous pouvez utiliser un attribut de données sur vos balises td pour stocker les données, ou vous pouvez effectuer un appel ajax. Mais cela pourrait être bavard si vous revenez au serveur chaque fois qu'une cellule doit être éditée. Fondamentalement, ce serait l'option la plus difficile à obtenir.
Commencez par le moyen simple (sélectionnez dans chaque td). Et si cela s'avère problématique, passez à la plus difficile. C'est ce que je ferais.
Demandez-vous seulement quelle approche utiliser pour ajouter les listes déroulantes? Quelles sont vos préoccupations à propos d'une approche par rapport à l'autre? – NerdFury