Javascript 返回false时保留下拉列表值

Javascript 返回false时保留下拉列表值,javascript,jquery,drop-down-menu,Javascript,Jquery,Drop Down Menu,对于下面的下拉列表,当我选择任何值时,我必须进行确认(确定/取消),如果用户选择取消,我需要保留以前的状态。当点击Cancel并执行返回false时会发生什么,将选择新值,而不保留以前的值。单击“取消”时,如何确保选择了上一个值。我尝试使用以下代码,但似乎没有帮助: var ele = document.getElementById('mySelect'); ele.selected = ele.defaultSelected; return false; <se

对于下面的下拉列表,当我选择任何值时,我必须进行确认(确定/取消),如果用户选择取消,我需要保留以前的状态。当点击Cancel并执行
返回false时会发生什么,将选择新值,而不保留以前的值。单击“取消”时,如何确保选择了上一个值。我尝试使用以下代码,但似乎没有帮助:

var ele = document.getElementById('mySelect');
ele.selected = ele.defaultSelected;            
return false;

<select id="mySelect" multiple="multiple">
  <option value="1">First</option>
  <option value="2">Second</option>
  <option value="3">Third</option>
  <option value="4">Fourth</option>
</select>
var ele=document.getElementById('mySelect');
ele.selected=ele.defaultSelected;
返回false;
弗斯特
第二
第三
第四

我认为-我认为-唯一的解决方案是保留以前选择的值,然后再次将其设置为“取消”。使用
val()
,您可以很容易地获得一组select的值

简而言之:

prev_val = $('#myselect').val();

if (cancel) {
    $('#myselect').val(prev_val);
}

我认为-我认为-唯一的解决方案是保留以前选择的值,然后再次将其设置为“取消”。使用
val()
,您可以很容易地获得一组select的值

简而言之:

prev_val = $('#myselect').val();

if (cancel) {
    $('#myselect').val(prev_val);
}
给你:)


$(文档).ready(函数(){
$(“#mySelect”).mousedown(函数(){
var old_value=$(“#mySelect”).val();
var confirm_selection=confirm(“您确定吗?”);
如果(!确认所选内容)
{
$(“#mySelect”).val(旧值);
返回false;
}
}); 
});
只需将确认文本更改为您喜欢的内容

必须使用mousedown()而不是change(),因为在使用change时,将在选择新项后调用函数,因此无法知道选择了以前的项

给你:)


$(文档).ready(函数(){
$(“#mySelect”).mousedown(函数(){
var old_value=$(“#mySelect”).val();
var confirm_selection=confirm(“您确定吗?”);
如果(!确认所选内容)
{
$(“#mySelect”).val(旧值);
返回false;
}
}); 
});
只需将确认文本更改为您喜欢的内容


必须使用mousedown()而不是change(),因为在使用change时,将在选择新项后调用函数,因此无法知道选择了以前的项

问题被标记为“jquery”,但您似乎没有使用它,是吗?我也可以使用jquery解决方案。问题被标记为“jquery”,但您似乎没有使用它,是吗?我也可以使用jquery解决方案。您的上一个值将为您提供当前选择的值(这不完全是以前的状态)我过度简化了答案的代码,但我的意思是,在用户操作之前,您必须存储
prev\u val
。您的prev\u val将为您提供当前选择的值(不完全是以前的状态)。我过度简化了答案的代码,但我的意思是,您必须在用户操作之前存储
prev\u val
。如果用户不使用键盘识别,则可能会出现问题。这段代码可以工作,但是在我们设置值时触发onchange事件。有办法阻止它吗?我假设我的qn可能不符合逻辑,因为事件正确地触发了,但我只是在想是否有其他方法可以做到这一点!如果用户使用键盘输入id,则可能会出现问题。这段代码可以工作,但是在我们设置值时触发onchange事件。有办法阻止它吗?我假设我的qn可能不符合逻辑,因为事件正确地触发了,但我只是在想是否有其他方法可以做到这一点!