Bonjour, j'ai un petit problème pour optimiser mon JS. Voici le contexte : j'ai une page de mon site qui permet d'affecter des ressources à des métiers. Pour plus de simplicité j'ai créé un bouton "ajouter la ressource " qui ajoute une case en "readonly" avec l'id de la ressource. Cela permet d'ajouter plusieurs ressource en même temps. Le problème est le suivant : Je n'arrive pas à trouver le moyen de remplacer l'affichage de la "value" de ma nouvelle case.
Essaye de récupérer la valeur du select plutôt que la valeur d'une option. Je te conseille de regarder les bases du html au passage, celui présenté est invalide.
1- je doit récupérer l'id de la ressource pour ma base de données donc dans ma tête il faut que je récupère les 2.
2-"Je te conseille de regarder les bases du html au passage, celui présenté est invalide." Quelle(s) erreur(s) j'ai pu faire car je ne vois pas du tout.
Je vais regarder de nouveau les bases du HTML et j'éditerai si j'ai trouver pour le dernier point
Évite d'utiliser this quand tu ne sais pas ce que c'est, ça peut être un peu n'importe quoi et comme le inline, ça rends le code moins maintenable. Dans ton code c'est plusieurs choses (à voir ce que c'est exactement avec des console.log), je doute que ce soit tout le temps ton option et jamais sa valeur.
Normalement c'est comme ça que l'on récupère la valeur d'un select.
Un form dans un select ça n'existe pas non plus. Il n'y a que des option dans un select.
onclick="selectionR()" ceci c'est du inline. Ca marche mais ça rends le code moins maintenable. Imagine que tu as 1000 onclick comme cela et que tu change le nom de ta fonction, c'est la galère pour aller tout changer et ne rien oublier.
Oui, c'est possible, mais ça veut dire que tu vas aller chercher dans le DOM. En général, tu sais que 1 = ordinateur.
Avant, pour déclarer une variable en js on utilisait le mot clef var. Aujourd'hui, on peut utiliser var, let (pour les variables qui vont être modifiées) et const (pour les variables qui ne vont pas être modifiées).
J'ai donc modifié ma fonction mais quand je clique sur mon bouton rien ne se passe? J'ai mis des alertes mais aucune ne s'active. Une idée?
<script>
selectionR = function (){
//recupère l'id de la case
var let id = document.getElementById('ressource');
//recupère le texte de la case
var let libelle = id.innerText || id.textContent;
alert(id);
alert(libelle);
console.log('coucou', $('#ressource').find('option:selected'));
$('#ressource').find('option:selected').each(function(){
if (!document.getElementById('r_'+id+'')) { $('#ma_selection').append('<input id="r_'+id+'" name="r_'+ libelle+'" value="'+ libelle+ '" readonly><br>'); }
alert(id);
alert(libelle);
});
}
</script>
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
Face a quelqu'un pour qui l'on n'éprouve que de l'aversion et du mépris, les yeux d'un homme deviennent extrêmement froids et cruels.