JavaScript确认框...取消时恢复更改

时间:2014-06-02 11:53:07

标签: javascript jquery

我有一个下拉框,如图所示: enter image description here

当我更改主题时,会出现如下所示的警告框:

enter image description here

代码:

$("#createquiz_subject").bind("change", (function() { 
    if(quiz.length !== 0){ 
    var r = confirm("The questions selected will be cleared"); 
    if (r === true) { 
        $("#leftValues").empty(); 
    } else { 

    } 
 } 
}));

如果单击“确定”,则主题和课程会发生变化。点击取消时也会发生同样的情况。 当用户点击取消时,我希望主题在更改之前保持不变。 我如何执行此功能。

2 个答案:

答案 0 :(得分:0)

您可以通过首先记住当前选定的部分然后手动恢复它来解决此问题。

var subject = $('#creatquiz_subject');
var currentSubj = subject.val();
subject.bind("change", (function() { 
    if (!quiz.length) { return; } // Better to just short-circuit here?
    if (confirm("The questions selected will be cleared")) { 
        $("#leftValues").empty();
        currentSubj = subject.val(); // Update the current subject var
    } else { 
        subject.val(currentSubj);  // Reset to current subject
    } 
}));

答案 1 :(得分:-1)

只有一种方式。伪代码是:

<script>
   var lastvalue = null;
</script>

<select .... onmousedown="lastvalue = this.index">

....
</select>

oncancel 
  select.index = lastvalue

根据您的实现和使用的jquery(如果使用)调整代码