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         
  }       
});