如何在警报“取消”后获得 return 到 ID 的选项?

How do I get the option to return to a ID after alert “cancel”?

如何在加载页面和警告“取消”后获取 return 到目标值 ID 的选项?还要选择一个值后的前一个当前值?

现在,如果我在选择 "cancel" 警报之前选择了一个值,它会选择 "current value"。

但是,如果我加载一个新页面,它也不会转到选定的 "current value" 或目标值 ID。它将转到一个没有用的 "disabled" 选项。我该如何解决这个问题?

如果我在加载页面后直接选择 "cancel" 警报,我如何才能转到我选择的目标值 ID (id="ger") 选项?

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>

试试这个

$(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>

经过长时间的摆弄,我自己找到了答案。但我会把它留在网上,让可能有同样问题的其他人看到答案的解决方案。

我需要做的是添加:

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

并通过这样做告诉系统,如果选择了一个空值,那么将自动选择 id="ger"。这样我就解决了问题。

整个代码是这样的

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>