使用jQuery检测文本框值何时更改

时间:2011-01-20 14:51:48

标签: jquery textbox setinterval

我有2个文本框。在第一个我输入一个客户的唯一ID。当我选中此文本框时,它会向我的数据库发出查询并填充第二个文本框,即客户类型。

当第二个文本框的值从DB更新时(即值'从'“更改”到检索到的值)我想获取该值并将其作为参数发送到我的第二个数据库查询。

我并不总是知道第一个查询更新第二个文本框需要多长时间,因此我想在第二个文本框中的值更改后执行查询。

查看jQuery .change()事件,它似乎只在文本框失去焦点时触发,但在我的设计中,文本框永远不会获得焦点。

理想情况下,如果我能够检测到第二个文本框值何时更改然后触发第二个查询,那将会很棒。

这怎么可能?

谢谢! 标记

2 个答案:

答案 0 :(得分:1)

我不确定您的Ajax调用是什么样的,但您应该能够使用trigger('change')或简单change()来触发更改事件处理:

$('#input2').val(variableFromAjaxFunction).trigger('change');

答案 1 :(得分:0)

在第一个AJAX请求的回调中(填充第二个文本框的地方),触发change事件。

你可能会:

jQuery.ajax({
  ...
  success: function (response) {
      $('#textbox2').val(response);
  }
});

只需将其更改为:

jQuery.ajax({
  ...
  success: function (response) {
      $('#textbox2').val(response).trigger('change');
  }
});