2011-01-20 55 views
1

我有一个2个文本框。在第一个我为客户键入一个唯一的ID。当我从这个文本框中跳出时,它会向我的数据库发出查询并填充第二个文本框,这是客户类型。检测文本框值随jQuery发生变化时

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

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

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

理想情况下,如果我能够检测到第二个文本框值发生变化,然后激发我的第二个查询,那将会很棒。

这怎么可能?

谢谢! 马克

+1

为什么要检索e您刚刚通过AJAX发送的值?当你改变这个值时,你不能在javascript中继续你的函数。或者,甚至更进一步,先完成PHP,然后再来回发送这么多次? – Marnix 2011-01-20 14:55:28

回答

1

我不知道你的Ajax调用看起来完全像什么,但你应该能够使用trigger('change') ,或者简单地说change(),以触发更改事件处理:

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

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

你可能有:

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

只是将其更改为:

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