jQuery 如何撤消选择更改

2024-01-23

我有一个选择框,我想在将其更改为特定选项之前添加确认。例子:

<select name="select">
    <option value="foo" selected="selected">foo</option>
    <option value="bar">bar</option>
</select>​​​​​​​​​​​​​​​​​​
$('select').change(function() {
    var selected = $(this).val();

    if (selected == 'bar') {
        if (!confirm('Are you sure?')) {
            // set back to previously selected option
        }
    }
});

我正在考虑添加一个隐藏的输入字段,并在每次选择更改时更新其值。这样我就可以检索以前的值change功能。Example http://jsfiddle.net/eUM4D/:

<input type="hidden" name="current" value="foo" />
$('select').change(function() {
    var selected = $(this).val();
    var current = $('input[name=current]').val();

    if (selected == 'bar') {
        if (!confirm('Are you sure?')) {
            $(this).val(current);
            return false;
        }
    }

    $('input[name=current]').val(selected);
});

有没有更简单/更好的方法来实现这一点?


您可以使用以下方法,而不是使用全局变量(邪恶!)或隐藏元素(滥用 DOM)$.data http://api.jquery.com/jQuery.data/特征:

$('select').change(function() {
    var selected = $(this).val();

    if (selected == 'bar') {
        if (!confirm('Are you sure?')) {
            $(this).val($.data(this, 'current'));
            return false;
        }     
    }

    $.data(this, 'current', $(this).val());
});
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

jQuery 如何撤消选择更改 的相关文章

  • 使用 JQuery 定义要附加的 HTML 模板

    我有一个正在循环的数组 每次条件成立时 我想附加一份副本HTML下面的代码到具有一些值的容器元素 我可以在哪里放置此 HTML 以以智能方式重复使用 a href class list group item div class image
  • 无法选择或取消选择 jQuery UI 模态对话框中的复选框

    我使用 jQuery UI 的对话框来显示一些选项 每个选项都表示为复选框 现在 当我打开对话框并单击复选框时 没有任何反应 复选框没有被选中 我正在使用 jQuery UI 的最新版本 谁能告诉我出了什么问题吗 这是代码 div atta
  • 禁用输入中的空格,并允许后退箭头?

    我试图禁用用户名文本字段中的空格 但是我的代码也禁用后退箭头 有什么办法也允许后退箭头吗 function var txt input UserName var func function txt val txt val replace s
  • jQuery stopPropagation 不起作用

    我正在使用以下内容选色器 https github com meta100 mColorPicker blob master javascripts mColorPicker js它工作正常 但是当我单击颜色选择器图标时 我不希望它冒泡到主
  • Jquery 拖放和克隆

    嗨 我需要实现这个 我有一套可掉落的物品 基本上我是在服装上掉落设计 并且我正在掉落一个克隆 如果我不喜欢删除的对象 设计 我想通过执行隐藏之类的操作来删除它 但我无法做到这一点 请帮我 这是代码 var clone document re
  • 使用 jQuery 检查输入是否为空

    我有一个表单 我希望填写所有字段 如果单击某个字段然后未填写 我想显示红色背景 这是我的代码 apply form input blur function if input text is empty this parents p addC
  • jQuery 在 Chrome 下发现错误元素

    我使用 jQuery 迭代 HTML 表 并动态填充每行的行号 通过在文本框中填充行号 function updateRowNums myTable find tr each function index this find input i
  • 如何设置在浏览器的新选项卡(_blank)中打开的pdf文件的标题

    这是我的尝试 是否在新选项卡上打开 但它总是显示test pdf如题 function titlepath path name alert path alert name document title name window open pa
  • Jquery 两个字段的时间差(以小时为单位)

    我的表单中有两个字段 用户可以在其中选择输入时间 start time end time 我想在更改这些字段时重新计算另一个字段的值 我想做的是获取两次之间的小时数 例如 如果我的开始时间为 5 30 结束时间为 7 50 我想将结果 2
  • 检测 WebGL 支持的正确方法?

    我正在尝试跨多个浏览器检测 WebGL 支持 并且遇到了以下情况 当前版本的 Firefox 似乎使用以下检查来报告积极支持 即使访问者的视频卡被列入黑名单和 或 WebGL 被禁用 if window WebGLRenderingCont
  • 单击导航项锚链接时如何关闭切换菜单

    请看我的FIDDLE http jsfiddle net ayhpp8ax 我有一个带有 响应式 导航菜单 带有指向页面上元素的锚链接 的 1 页网站 当浏览器视口小于特定宽度 在我的情况下为 767px 时 使用此 javascript
  • 在 iframe 中打开的网页上调用我的 jquery 函数

    我想单击一个按钮 该按钮位于基于父页面中的类选择器的 iframe 中打开的网页上 我试过这个 each classname function i el setTimeout function el trigger click 30000
  • 如何发送正确的授权标头以进行基本身份验证

    我正在尝试从 API 发布数据 但无法通过基本身份验证 I try ajax type POST url http theappurl com api v1 method data crossDomain true beforeSend f
  • jQuery mobile 中的文本区域高度和宽度?

    我修复了 jQuery mobile 中文本区域元素的高度 并且在纵向中得到了完美的高度和宽度 但在横向中宽度没有放大 谁能帮我 提前致谢 HTML
  • 如何删除除任何特定 id 之外的元素

    假设有一个父 id 其中包含许多元素 我想删除除一个元素之外的所有元素 ex parent id children not id n remove
  • 在特定页面上执行 javascript 的正确“Rails”方式

    我试图在特定页面上运行 javascript 而我唯一的解决方案似乎是反模式 我有controller js内部生成的assets javascripts 我在用着gem jquery turbolinks 我的代码类似于以下内容 docu
  • 过滤自定义选择器是否大于 jQuery 中的数字[重复]

    这个问题在这里已经有答案了 快给你一份 我查看了 jQuery com 中的选择器 但找不到按大于数字的选择器进行过滤的方法 我想做这个 level gt 4 hide 我的 html 看起来像这样 div Test div 如何使用该语法
  • jQuery .push 到 .get 调用中的数组给出空结果

    谁能告诉我为什么下面给我一个空字符串 当我console log contentArray in the get 回调函数它显示数据 但是当我尝试在下面的代码中执行它时 结果为空 sectionArray contentArray func
  • 自动建议 php 的 ajax

    我有一个 html 表单 php 脚本和 jquery 我需要一个 ajax 代码来从我的 php 脚本中进行自动建议 以下是代码 表单 html
  • 如何使用 JavaScript 或 jQuery 克隆 HTML 元素的样式对象?

    我正在尝试克隆元素的样式对象 这应该允许我在更改后重置所述元素的样式 例如 el style left 50px curr style left 50px Modify the elements style The cloned style

随机推荐