J'ai besoin d'obtenir la valeur précédente d'un SELECT (au cas échéant si l'AJAX échoue -> Définissez l'ancienne valeur de retour)
La sélection est la suivante: P>
if(typeof response.prev !== 'undefined' ){
sel.value = response.prev;
}
3 Réponses :
Conservez la valeur précédente avant de passer à la méthode Ajax et s'il s'agit de la réussite, définissez la valeur que votre nouvelle couleur. JQUERY P> var prValue = $('#your_select').val();
function setColor(sel){
prValue
$.ajax({
url: set_color_url,
type: 'POST',
data: {id: sel.value},
success: function (response) {
if (!response.error) {
// the color it`s changed :)
prValue = sel.value;
} else {
// something went wrong
// change to the prev value
// now you can get your previous value from this var `prValue`;
}
}
});
}
C'est pourquoi je suis à l'aide de l'accessoire "Onchange" parce que ce qui sélectionne ce n'est pas le seul. Je dois générer un identifiant unique pour chaque sélection ... Je vais mettre à jour la question
(function () {
var previous;
$("#selectId").on('focus', function () {
// Store the current value on focus and on change
previous = this.value;
}).change(function () {
// your logic to call ajax
$.ajax({
url: set_color_url,
type: 'POST',
data: {
id: sel.value
},
success: function (response) {
if (response.error) {
// the color it`s changed
$("#selectId").val(previous);
} else {
// Make sure the previous value is updated on successful ajax
previous = this.value;
}
}
});
});
});
pour la prochaine fois que vous pouvez utiliser l'utilisateur () ou .child () et pour les précédents, vous pouvez utiliser prev () https://www.w3schools.com/jquery/jquery_ref_traversing.asp - Voir pour Étudier p>
Il y a une option Ajax appelée
erreur code>, vous n'avez pas besoin d'utiliser un si / else.@Ilamelshobokshy Il s'agit toujours d'un modèle valide que certaines API renvoient un code de réponse 200 et donnent des détails sur les échecs dans les données de réponse
@RoryMccrossan n'a pas dit qu'il avait tort, il suffit de le pointer :-)
@Inlamelshobokshy La réponse est un json comme ceci:
['erreur' => true, "msg '=>" message d'erreur "] code>