2017-07-18 2 views
0

Comment puis-je obtenir l'option pour revenir à l'ID de la valeur ciblée après le chargement de la page et l'alerte "annuler"? Mais aussi à l'ancienne valeur actuelle après qu'une valeur est choisie?Comment puis-je obtenir l'option de retourner à un ID après l'alerte "annuler"?

Maintenant, il sélectionne la "valeur actuelle" si j'ai choisi une valeur avant de choisir "annuler" l'alerte. Mais si je charge une nouvelle page, elle ne va pas non plus à la "valeur actuelle" sélectionnée ou à un ID de valeur ciblée. Il ira à une option "désactivé" de non utilisation. Comment puis-je réparer ça?

Comment est-ce que je le fais pour aller à un ID de valeur ciblée (id = "ger") l'option de mon choix si j'ai choisi "annuler" l'alerte directement après avoir chargé la page?

JavaScript

<script type="text/javascript"> 
$(function(){ 
    $('#optFu').change(function() { 
     var selected = $(this).val(); 

      if (selected == 'auto') { 
      if (!confirm('The ´´Automatic system´´ is limited. \n Are you sure you want to use this?')) { 
       $(this).val($.data(this, 'current')); 
       return false; 
       } 
      } 
     $.data(this, 'current', $(this).val()); 
    }); 
}); 
</script> 

HTML

<select name="LangFu" id="optFu"> 
<option value="" disabled>Common Languages:</option> 
<option value="zh-CN">Chinese (Simplified)</option> 
<option selected value="en">English</option> 
<option value="fr">French</option> 
<option value="de" id="ger">German</option> 
<option value="ru">Russian</option> 
<option value="es">Spanish</option> 
<option value="" disabled>&#8212;</option> 
<option value="auto" data-confirm=" The ´´Automatic Language Detection´´ does not detect laguadges in frames/sandbox. Are you sure you want to select this option? ">Auto Detect</option> 
</select> 

Répondre

1

essayer

$(function() { 
 
    $('#optFu').val("de"); 
 
    $('#optFu').change(function() { 
 
    var selected = $(this).val(); 
 
    if (selected == 'auto') { 
 
     if (!confirm('The ´´Automatic system´´ is limited. \n Are you sure you want to use this?')) { 
 
     $(this).val("de"); 
 
     return false; 
 
     } 
 
    } 
 
    }); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script> 
 
<select name="LangFu" id="optFu"> 
 
    <option value="" disabled>Common Languages:</option> 
 
    <option value="zh-CN">Chinese (Simplified)</option> 
 
    <option selected value="en">English</option> 
 
    <option value="fr">French</option> 
 
    <option value="de">German</option> 
 
    <option value="ru">Russian</option> 
 
    <option value="es">Spanish</option> 
 
    <option value="" disabled>&#8212;</option> 
 
    <option value="auto" data-confirm=" The ´´Automatic Language Detection´´ does not detect laguadges in frames/sandbox. Are you sure you want to select this option? ">Auto Detect</option> 
 
</select>

+0

Vos travaux le même que le mien. Si la page est fraîchement chargée, elle choisit quand même une option désactivée si elle est annulée. Cela ne fonctionne correctement que si j'ai d'abord choisi une option, puis j'ai choisi Auto et annulé. alors ça marche. En d'autres termes, cela fonctionne exactement comme le mien. Aucune différence et le problème d'une nouvelle page chargée est toujours là. – SeekLoad

+0

Après un long tripotage j'ai trouvé la réponse moi-même. La solution était simple, je dois ajouter un système automatique pour choisir '' id = "ger" '' quand une valeur amty a été choisie par mon ou votre solution. Le code que j'avais besoin d'ajouter était ce '' $ (document) .ready (function() { $ ("# opt"). Change (function() { if ($ (this) .val() == " ") { $ (" # ger ") prop ('sélectionné', true);. } else { $ (" # ger ") prop ('sélectionné', false);. } }) }); '' – SeekLoad

+0

Regardez la réponse que je me suis donnée après avoir beaucoup tripoté avec, en essayant de trouver une solution.Ce code supplémentaire résout ce problème à la fois avec mon et avec votre solution qui a le même problème. Mais puisque je ne peux pas me donner une "réponse V", je vous l'ai donné, de sorte que la question se termine par une réponse puisque vos codes fonctionnent, il est seulement 50% de travail exactement comme mon premier poème avec la question . – SeekLoad

1

Après un long tripotage j'ai trouvé la réponse moi-même. Mais je vais le laisser en ligne pour les autres qui peuvent avoir le même problème pour voir la solution avec la réponse.

ce que je devais faire est d'ajouter:

$(document).ready(function() { 
     $("#opt").change(function() { 
      if ($(this).val() == "") { 
       $("#ger").prop('selected', true); 
      } 
      else { 
       $("#ger").prop('selected', false); 
      } 
     }) 
    }); 

Et en le faisant dire au système que si une valeur vide est choisie alors automatiquement l'id = « ger » serait choisi. De cette façon, j'ai résolu le problème.

Voici comment le code entier semble

JavaScript

<script src="http://code.jquery.com/jquery-1.8.1.min.js"></script> 
<script type="text/javascript"> 
$(function(){ 
    $('#optFu').change(function() { 
     var selected = $(this).val(); 

      if (selected == 'auto') { 
      if (!confirm('The ´´Automatic system´´ is limited. \n Are you sure you want to use this?')) { 
       $(this).val($.data(this, 'current')); 
       return false; 
       } 
      } 
     $.data(this, 'current', $(this).val()); 
    }); 
}); 

$(document).ready(function() { 
     $("#opt").change(function() { 
      if ($(this).val() == "") { 
       $("#ger").prop('selected', true); 
      } 
      else { 
       $("#ger").prop('selected', false); 
      } 
     }) 
    }); 
</script> 

HTML

<select name="LangFu" id="optFu"> 
<option value="" disabled>Common Languages:</option> 
<option value="zh-CN">Chinese (Simplified)</option> 
<option selected value="en">English</option> 
<option value="fr">French</option> 
<option value="de" id="ger">German</option> 
<option value="ru">Russian</option> 
<option value="es">Spanish</option> 
<option value="" disabled>&#8212;</option> 
<option value="auto" data-confirm=" The ´´Automatic Language Detection´´ does not detect laguadges in frames/sandbox. Are you sure you want to select this option? ">Auto Detect</option> 
</select>