在表单中监听变更事件:JQuery

时间:2009-10-11 17:05:29

标签: javascript jquery html fancybox

我有一个id为“向导”的表单 - 我只有这种形式的选择元素。此表单位于使用JQuery plugin fancybox

的灯箱中

我想知道何时使用JQuery更改了这些内容。我怎样才能做到这一点?我目前有:

$('form#wizard select[name=servers], form#wizard select[name=cores]').change(function() {
var channels = parseInt($('form#wizard select[name=servers]').val(), 10) * parseInt($('form#wizard select[name=cores]').val(), 10);
$('#yellow').val(channels);
});

编辑 - 我将上述内容包含在$(document).ready(function() {...}

然而,它不起作用,甚至没有运行。我已经在那里发出警报,但它们从未出现过。以上只有在上面是我删除了显示的div时才有效:没有,奇怪!所以我正在寻找一种不同的实现来解决这个问题,因为我需要那个灯箱。

我真的需要帮助。

全部谢谢

1 个答案:

答案 0 :(得分:5)

jQuery change函数仅绑定domready事件触发时存在的元素。如果您使用的灯箱插件是动态创建元素,那么您应该使用jQuery的live函数来“将处理程序绑定到所有当前和未来匹配的元素”。

改变这个:

$('your selector').change(function() { /* code ... */ });

用这个:

$('your selector').live('change', function() { /* code ... */ });