Javascript 返回false时保留下拉列表值
对于下面的下拉列表,当我选择任何值时,我必须进行确认(确定/取消),如果用户选择取消,我需要保留以前的状态。当点击Cancel并执行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
返回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可能不符合逻辑,因为事件正确地触发了,但我只是在想是否有其他方法可以做到这一点!