Jquery 防止html选项在用户选择后更改
我有一个问题,当用户从下拉列表中选择时,我需要检查用户是否进行了更改,然后我才允许用户完全转到下一个他/她应该填写的内容 如果进行了更改,是否有方法将下拉列表设置为以前的值Jquery 防止html选项在用户选择后更改,jquery,html,asp.net-mvc,Jquery,Html,Asp.net Mvc,我有一个问题,当用户从下拉列表中选择时,我需要检查用户是否进行了更改,然后我才允许用户完全转到下一个他/她应该填写的内容 如果进行了更改,是否有方法将下拉列表设置为以前的值 <select id="dropdown" > <option value="1">option 1</option> <option value="2">option 2</option> <option value="3">o
<select id="dropdown" >
<option value="1">option 1</option>
<option value="2">option 2</option>
<option value="3">option 3</option>
<option value="4">option 4</option>
</select>
选择1
选择2
选择3
选择4
试试这个
var prevVal=$('#dropdown').val();
$('#dropdown').on('click','option',function(){
if(prevVal==this.value){
alert('no change');
} else{
prevVal = this.value;
alert('value changed');
}
});
更新在下拉列表中使用单击事件
,如
var prevVal=$('#dropdown').val();
$('#dropdown').on('click',function(){
if(prevVal==this.value){
console.log('no change');
} else{
prevVal = this.value;
console.log('value changed');
}
});
尝试此操作。在进行这些更改时,为什么不禁用选择。您可能会对此处的答案感兴趣。有一个捕获(答案地址),因为禁用的选择默认情况下不包括在发送到服务器的表单参数中。它不显示消息。您是否更改了选项?它对我无效。控制台上有错误。什么错误?别忘了在你的页面中包含jquery的最新版本。我在mozilla中试用过,它可以工作,但在chrome上不起作用。
var previous = $('#dropdown').val();
$('#dropdown').change(function()
{
if(previous ==this.value)
{
//do things
}
else
{
previous = this.value;
//do things
}
});