J'ai le code suivant. Tout semble bien fonctionner mais c'est juste que parfois, il y a des moments où les avis de confirmation et d'alerte apparaissent plusieurs fois et ils deviennent tout simplement ennuyeux. Y a-t-il des problèmes avec le code suivant? Merci pour tout conseil.Quel est le problème avec cette instruction jquery?
$('.order_stateselect').hover(function(){
var value_text=$(this).find(":selected").text();
var value_code=$(this).find(":selected").val();
$(this).change(function(){
if(confirm('Confirm Order Status Change?')){
var conduct_status_chge=$.post('/seller/helpers/order_status_change.php',{order_item_id:$(this).parent('td').siblings('.order_item_id').text(),order_item_status:$(this).find(':selected').val()},function(data){
alert(data);
})
.error(function() {
$(this).find(':selected').removeAttr('selected');
$(this).find('option:contains(value_code)').attr('selected','selected');
alert('error');
});
}else{
$(this).find(':selected').removeAttr('selected');
$(this).find('option:contains(value_code)').attr('selected','selected');
}
});
});
Une brève explication de ce que je fais ici.
Ceci est une selectbox avec plusieurs options. Cette sélection fait partie d'une cellule de tableau dans une liste d'éléments. Par exemple: Chaque ligne contient un élément et pour chaque ligne, il y a une boîte de sélection dédiée à cette ligne spécifique.
1) En vol stationnaire, les valeurs de l'option sélectionnée sont chargées via la valeur de ma base de données lors du chargement de la page.
2) Lorsque l'utilisateur sélectionne une valeur différente dans la zone de sélection et confirme la sélection, je fais un $ .post.
3) Si l'utilisateur appuie sur annuler ou s'il y a une erreur avec l'appel de script qui fait échouer le $ .post, je ramène l'option sélectionnée à la valeur d'origine de la base de données.
Je suis désolé si mon explication n'est pas claire, mais s'il vous plaît laissez-moi savoir si vous avez besoin de plus d'informations. Merci.
Je pense que le problème est que vous attribuez un événement à « .order_stateselect » plusieurs fois dans « vol stationnaire ». Et pourquoi auriez-vous besoin du «hover» du tout? Essayez de simplement mettre tout le code dans l'événement 'change'. – NikitaBaksalyar