comment éviter de changer selectbox valeur si je dis non à confirmer
je m en utilisant une boîte de sélection de pays, lorsque l'utilisateur de sélectionner un pays, puis ajouter la branche de lien s'affiche et l'utilisateur d'ajouter des branches, en vertu de ce pays, mais lorsque l'utilisateur veut changer de pays, puis toutes les branches concernant ce pays doit être destryoed. avant de changer un pays, une boîte de confirmation apparaît et afficher l'avertissement..tout fonctionne bien, mais
si je clique sur "Annuler" sur la fenêtre de confirmation, puis les branches reste là, mais de sélectionner la zone valeur a changé à de nouveaux pays (et même que je clique sur annuler)
j'ai besoin que si l'utilisateur annuler pour changer de pays, puis sélectionnez la valeur de la zone serait aussi précédent.
s'il vous plaît dites comment le faire avec JQuery
mon code est donné ci-dessous
<form>
<table>
<tr>
<td >Select Country :</td>
<td >
<select name="country_id" id="country" class="selectbox" title="Please select country" validate="required:true" onchange="javascript:showBranch();" >
<option value="" >Select Country </option>
<option value="00002" > Afghanistan</option>
<option value="00054" > Croatia</option>
<option value="00060" > Dominica</option>
<option value="00062" > Ecuador</option>
<option value="00064" > El Salvador</option>
<option value="00067" > Estonia</option>
<option value="00099" > India</option>
</select>
</td>
</tr>
<tr>
<td> </td>
<td>
<div id="branches">
<!-- Raw Branch Details-->
<div><span><a title="First Branch" href="">First</a></span></div>
<div><span><a title="Second Branch" href="">Second</a></span></div>
<div><span><a title="Third Branch" href="">Third</a></span></div>
</div>
<div id="brancherror"></div>
</td>
</tr>
<tr>
<td> </td>
<td align="left">
<span id="branchLink" style="display:none" >
<a href="#" class="thickbox" id="branchhref">Add Branch(es)</a></span>
</td>
</tr>
</table>
</form>
function showBranch()
{
var countryid = jQuery('#country').val();
if (jQuery("#branches>div").size())
{
if (confirm('If country has been changed then data corresponding to present branches will lost.Do you want to continue?'))
{
jQuery('#branches').html('');
}
jQuery('#branchhref').attr({href: "index.php?option=com_advertise&view=createbranch&format=raw&country=" + countryid + "&KeepThis=true&TB_iframe=true&height=500&width=900",title: 'Add Branch'});
}
else
{
jQuery('#branchhref').attr({href : "index.php?option=com_advertise&view=createbranch&format=raw&country=" + countryid + "&KeepThis=true&TB_iframe=true&height=500&width=900",title:'Add Branch'});
return true;
}
jQuery('#branchLink').show();
}
Vous devez vous connecter pour publier un commentaire.
Vous pouvez simplement stocker la valeur précédente et le régler si nécessaire, comme ceci:
Ou de l'utilisation
.data()
comme @Gaby suggère, comme ceci:.data()
de sorte qu'il pourrait travailler pour de multiples sélectionnez les cases..$(this).data('curVal', $(this).val());
Plus logique syntaxe moi sphinks!Ci-dessous la solution a fonctionné pour moi. Tout d'abord onfocus est appelé. Cet événement continue à la valeur actuelle dans un attribut "PrvSelectedValue". Deuxièmement onchange est appelé, nous avons défini la valeur précédente si l'utilisateur d'annuler la fenêtre de confirmation.return false est utilisé pour empêcher la publication dans ASP.NET.
Je poste cette réponse au risque du ridicule, parce que je suis certes assez noob à ce genre de choses (été seulement l'apprentissage d'un ou deux mois), mais j'ai été capable de gérer une situation similaire (changement de fuseau horaire) il suffit de faire ceci:
Ensuite dans mon code html, j'inclus les données originaltimezone="quelque chose" dans le select. J'ai eu la classe timezonedropdown pour le sélectionner en tant que bien. Espérons que ça aide! 🙂