Bonjour,
J'aimerais savoir comment supprimer les attribues select="selected" sur les options d'un select.
Donc en fait je genere une liste en php :
<select id="select-team" class="form-control dual_select" name="team[]" multiple>
<?php foreach($employes as $e):?>
<option value="<?php echo $e->reference.'-'.$e->company;?>">
<?php echo $e->reference.' | '.$e->lastname.' '.$e->firstname;?>
</option>
<?php endforeach;?>
</select>
Cette liste récupère tout les users
Je récupère les users qui son enregistré dans une autre table et pour ceux là j'applique l'attribue select="selected"
var inputsite = document.getElementById("team_site");
$.ajax({
url: "/planning/salarie-type",
data: '&site=' + site,
dataType: 'json',
success: function (json) {
$('#team').modal('show');
inputsite.value = "";
inputsite.value = site;
for (var x = 0; x < json.length; x++) {
var key = json[x].reference+'-'+json[x].company;
console.log(key);
$('#select-team option[value="'+key+'"]').prop('selected', true);
}
},
error: function (json) {
console.log(json);
}
Le problème avec ce code c'est que j'ai une certaine architecture
Pour Activité 1->
j'ai un site 1->
là j'ai un select
j'ai un site 2->
là j'ai un select.....
du coup si je vais sur mon select du site 1 j'ai bien les users enregistré, mais si je vais sur le le select du site 2 j'ai les users du 1 et 2.
Donc je pense qu'il faut utiliser :
.prop('selected', false);
mais je ne sais pas comment m'y prendre
Je ferais
pour toutes les options, si option.value pas égale à key alors je retire selected
Bref j'espere que vous comprenez mon problème
oui a quel moment dans mon code ? Il faut également que je fasse une boucle pour le faire sur toute les option du select !
hello,
j'ai pas toutes les billes et il n'y a certainement pas tout le code js qui gère ton select mais :
success: function (json) {
$('#select-team option').removeAttr('selected');
$('#team').modal('show');
...
ou même avant ton call Ajax, ainsi même si ton appel n'aboutit pas tu auras ton select à zéro...
sinon (et c ce qui semble se passer) tu ne fais que rajouter des couches de selected