javascript - 使用jquery取消确认后如何防止更改选择选项?

标签 javascript jquery html listbox confirm

所以我有一个选择选项字段,当我更改选择字段的选项时,将显示确认消息。我的问题是如何防止在取消确认消息后更改选择选项字段的值。

$('.changeScoreFem').on('change', function(){
    if (confirm('Are you sure to change this score?')) {
        //continue to change  the value
    } else {
        //else do not change the selecoption field value
    }
});

最佳答案

您可以通过存储 select 的当前值,然后根据需要撤消它来完成此操作。

以下使用自定义事件来存储数据,并且如果您从服务器传递所选项目,该自定义事件也会在页面加载时触发

var $sel = $('.changeScoreFem').on('change', function(){
    if (confirm('Are you sure to change this score?')) {
        // store new value        
        $sel.trigger('update');
    } else {
         // reset
         $sel.val( $sel.data('currVal') );        
    }
}).on('update', function(){
    $(this).data('currVal', $(this).val());
}).trigger('update');

DEMO

关于javascript - 使用jquery取消确认后如何防止更改选择选项?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39963142/

相关文章:

javascript - 如何隐藏数据类型不是选择值的所有 div

jquery - 如何在jquery中以相反的顺序迭代元素?

html - 如何在边框上放置文本?

javascript - 单击以隐藏每个 div 并在 jquery 中显示另一个 div

java - 如何使用 vert.x java api 将服务器通知(推送通知)发送给客户端

javascript - 使用 if/else 与 switch

javascript - 如何动态地将值从下拉列表传输到数据表?

javascript - 单击时以 Angular 显示或隐藏表格的一部分

python - 如何在 Python 中执行 HTTP Post "directly"

javascript - 如何在 React 中的切换开关组件内添加文本?