javascript - 如何在取消下拉列表更改事件时设置以前的值

标签 javascript jquery html

我正在设计一个 html 页面。 我想在使用 jquery 或 javascript 更改下拉元素时显示确认消息。 请帮忙做这件事。

我有需要确认的代码。选择取消时,它不会选择下拉列表中的上一个项目。

$("#dropdownId").change(function(e) 
{
        if($(this).val() == "40")
        {
            if(confirm("Are you sure"))
                return true;
            else
                return false;
        }
});

谢谢

最佳答案

您应该能够在点击事件中存储之前的值,并在更改事件中将其重新设置:

var setLastSelected = function(element) {
   $(element).data('lastSelected', $(element).find("option:selected"));
};

$("select").each(function () {
   setLastSelected(this);
});

$("select").change(function(){        
      if(confirm("Are you sure")) { 
          setLastSelected(this);
          return true; 
      }
      else {
         $(this).data('lastSelected').attr("selected", true);
         return false;
      }
});

参见:http://jsfiddle.net/w9JYX/14/

更新:我更新了代码以更通用地处理一组下拉控件,还删除了点击处理程序。

关于javascript - 如何在取消下拉列表更改事件时设置以前的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6757826/

相关文章:

javascript - 在页面上隐藏/显示多次

javascript - PHP:while循环元素粘在一起

jquery - 覆盖由 jQuery 主题滚轮设置的表格宽度

javascript - 如果另一个元素为空,如何动态隐藏 html 元素

javascript - 在 CSS 中是否可以通过单击另一个元素来更改元素的样式?

javascript - 在自定义元素中获取元素引用

javascript - 单击标记并突出显示底层折线

javascript - 如何使用javascript在html页面中连续获取移动物体的位置?

javascript - Google Maps API - GDirections.getDuration() 第一次返回 null,第二次有效

javascript - jQuery Sortable - 在从列表中删除的项目上保留空白