Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/452.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 窗口确认后取消选择下拉选择_Javascript_Html - Fatal编程技术网

Javascript 窗口确认后取消选择下拉选择

Javascript 窗口确认后取消选择下拉选择,javascript,html,Javascript,Html,如何使用确认对话框取消选择菜单选项 其思想是,当用户更改选择菜单时,系统会提示用户确认其选择。如果他们选择“取消”,选择菜单将返回到以前选择的值。如果他们选择“确定”,则选择菜单的行为与预期一致 以下是我正在编写的代码: HTML: <select class="selector" name="selector1"> <option value="yes">Yes</option> <option value="no" selected=""&g

如何使用确认对话框取消选择菜单选项

其思想是,当用户更改选择菜单时,系统会提示用户确认其选择。如果他们选择“取消”,选择菜单将返回到以前选择的值。如果他们选择“确定”,则选择菜单的行为与预期一致

以下是我正在编写的代码:

HTML:

<select class="selector" name="selector1">
  <option value="yes">Yes</option>
  <option value="no" selected="">No</option>
  <option value="maybe">Maybe</option>   
</select>

<select class="selector" name="selector2" >
  <option value="yes">Yes</option>
  <option value="no" selected="">No</option>
  <option value="maybe">Maybe</option>   
</select>

对
不
大概
对
不
大概
JavaScript

var selects = document.querySelectorAll('.selector');

var lastSelected = {};

for (i = 0; i < selects.length; i++) {

    var select = selects[i];
    lastSelected[select.name] = select.options[select.selectedIndex];

    select.addEventListener('change', function (e) {

       lastSelected = select.options[select.selectedIndex];

       if (confirm("Are you want to choose this?") == true) {
           return;
       } else {
          select.value = lastSelected[select.name];
       }
    });
}
var-selects=document.querySelectorAll('.selector');
var lastSelected={};
对于(i=0;i
我不完全确定这为什么不起作用,非常感谢任何帮助。 这是我正在做的小提琴

n.b我想用本机JavaScript(无jquery)实现这一点

试试下面的代码片段

var select = document.querySelectorAll('.selector');
for (i = 0; i < select.length; i++) {    
    select[i]['last'] = select[i].options[select[i].selectedIndex].value;
    (function(i){
        select[i].onchange = function(){
            if(confirm("Sure?")){
                select[i]['last'] = this.value;
            }else{  
                this.value = select[i]['last'];
            }
        };  
    })(i);
}
var-select=document.querySelectorAll('.selector');
对于(i=0;i
正在工作

请尝试下面的代码片段

var select = document.querySelectorAll('.selector');
for (i = 0; i < select.length; i++) {    
    select[i]['last'] = select[i].options[select[i].selectedIndex].value;
    (function(i){
        select[i].onchange = function(){
            if(confirm("Sure?")){
                select[i]['last'] = this.value;
            }else{  
                this.value = select[i]['last'];
            }
        };  
    })(i);
}
var-select=document.querySelectorAll('.selector');
对于(i=0;i
正在工作

请尝试下面的代码片段

var select = document.querySelectorAll('.selector');
for (i = 0; i < select.length; i++) {    
    select[i]['last'] = select[i].options[select[i].selectedIndex].value;
    (function(i){
        select[i].onchange = function(){
            if(confirm("Sure?")){
                select[i]['last'] = this.value;
            }else{  
                this.value = select[i]['last'];
            }
        };  
    })(i);
}
var-select=document.querySelectorAll('.selector');
对于(i=0;i
正在工作

请尝试下面的代码片段

var select = document.querySelectorAll('.selector');
for (i = 0; i < select.length; i++) {    
    select[i]['last'] = select[i].options[select[i].selectedIndex].value;
    (function(i){
        select[i].onchange = function(){
            if(confirm("Sure?")){
                select[i]['last'] = this.value;
            }else{  
                this.value = select[i]['last'];
            }
        };  
    })(i);
}
var-select=document.querySelectorAll('.selector');
对于(i=0;i
工作

  • 您在此处覆盖上次选定的

    lastSelected = select.options[select.selectedIndex];
    
  • 当用户点击OK时,还必须存储新值
  • 另一种方法(将上一个值存储为select的属性)

    var-selects=document.querySelectorAll('.selector');
    对于(i=0;i
  • 您在此处覆盖上次选定的

    lastSelected = select.options[select.selectedIndex];
    
  • 当用户点击OK时,还必须存储新值
  • 另一种方法(将上一个值存储为select的属性)

    var-selects=document.querySelectorAll('.selector');
    对于(i=0;i
  • 您在此处覆盖上次选定的

    lastSelected = select.options[select.selectedIndex];
    
  • 当用户点击OK时,还必须存储新值
  • 另一种方法(将上一个值存储为select的属性)

    var-selects=document.querySelectorAll('.selector');
    对于(i=0;i
  • 您在此处覆盖上次选定的

    lastSelected = select.options[select.selectedIndex];
    
  • 当用户点击OK时,还必须存储新值
  • 另一种方法(将上一个值存储为select的属性)

    var-selects=document.querySelectorAll('.selector');
    对于(i=0;i