如何使用jquery比较下拉列表中的前一个值和当前值

如何使用jquery比较下拉列表中的前一个值和当前值,jquery,asp.net,Jquery,Asp.net,我有一个下拉列表,我想比较它以前的值和当前值。若前一个值和当前值相同,我的意思是并没有发生变化,我会在If语句中做另一个逻辑 function filter() { var id= "ctl00_plchldContent_dropdown1"; var current; var latest; var dropdown = document.getElementById(element.id); dropdown

我有一个下拉列表,我想比较它以前的值和当前值。若前一个值和当前值相同,我的意思是并没有发生变化,我会在If语句中做另一个逻辑

 function filter() {
        var id= "ctl00_plchldContent_dropdown1";
        var current;
        var latest;
        var dropdown = document.getElementById(element.id);
        dropdown.onchange('change', function () {
            current = $('#' + id + ' option:selected').val().trim();
        }).change(function () {
            latest = $('#' + id + ' option:selected').val().trim();
        });

       if(current != previous){
           //logic here
         }
    });
虽然下拉列表不为null,但当onchange事件对象出错时,我得到了预期的结果。我怎样才能修好它?
顺便说一句,我对jquery非常陌生。谢谢你,你可以通过将以前单击的选项保存在“选择”的数据属性中,并将当前单击的选项与之进行比较来实现这一点。还需要在选项上有一个单击事件,而不是在选择处有一个更改事件,因为如果所选选项与以前的选项相同,则不会调用该事件

$ctl00\u plchldContent\u下拉列表1 option.onclick,函数{ let selected=$this.val; 如果$this.parentselect.attrdata-previous==选中{ 警报值与以前相同。 } $this.parentselect.attrdata-previous,选中; }; 0 1. 2. 3. 您可以声明全局变量来存储选定项,在更改集选定为newSelected值之后

所选变量=$ctl00\u plchldContent\u dropdown1.val; $ctl00\u plchldContent\u下拉列表1.changefunction{ let newSelected=$ctl00\u plchldContent\u dropdown1.val; 如果已选择!=已选择{ 警觉改变; 选定=新选定; } }; 0 1. 2. 3.
谢谢你的回答。如果只单击一次下拉列表,该函数将被多次调用。由于调用了多个数据,所以将以前的属性设置为新的选定值。然后,If语句变为正确。因此,它不起作用。我在if之后添加了else子句,但这也不起作用。
var selected = $("#ctl00_plchldContent_dropdown1").val();

$("#ctl00_plchldContent_dropdown1").change(function() {

  let newSelected = $("#ctl00_plchldContent_dropdown1").val();
  if (newSelected != selected) {
    alert("Changed");
    selected = newSelected;
  }
});