我知道change中的jQuery事件处理与select类型的输入相关。但是我想知道用户是否在select元素中选择了另一个值!所以当用户在select中选择一个新元素时,我不想运行代码,但我想知道用户是否选择了不同的值!
事实上,在我的表单中有两个select元素,我只想在两个select元素被更改时启动ajax。那么如何知道这两个元素已经改变了呢?

最佳答案

通过在Javascript文件中设置绑定,可以专门监听所选元素上的更改事件。
不过,这只解决了你一半的问题。您想知道何时选择了不同的元素。
可以通过创建跟踪变量来完成此操作,该变量在每次触发事件时都会更新。
首先,给跟踪变量一个永远不会出现在下拉列表中的值。

// Hugely contrived!  Don't ship to production!
var trackSelect = "I am extremely unlikely to be present";

然后,需要设置一个函数来处理更改事件。
一些简单的事情:-
var checkChange = function() {
  // If current value different from last tracked value
  if ( trackSelect != $('#yourDD').val() )
  {
     // Do work associated with an actual change!
  }

  // Record current value in tracking variable
  trackSelect = $('#yourDD').val();
}

最后,您需要在document.ready中连接事件。
$(document).ready(function () {
  $('#yourDD').bind('change', function (e) { checkChange() });
});

关于javascript - 如何用jQuery知道“选择”输入值已更改?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13268304/

10-14 12:09