为什么jQuery只在内部加载函数中改变一次?

时间:2014-03-27 10:37:13

标签: javascript jquery onchange onload

我有一个div加载表单,我想加载表单url时数据更改,但它只触发一次

我的代码

$( "#calculator-wrapper" ).load( "mysite.com/new2/kalkulator/index.php", function(data) {
    $('#calculator').change(function(){
        var formData = $(this).serialize();    
        $("#calculator-wrapper").load("mysite.com/new2/kalkulator/index.php?"+formData+'&sub=Sz%C3%A1mol');
    });    
});

它有效,但只有一次,我是一个初学者,所以我停留了一秒钟,我试图使用bind()on(),但这也不起作用。

任何人都可以给我一个提示吗?

2 个答案:

答案 0 :(得分:3)

尝试

$(document).on("change","#calculator",function(){
    var formData = $(this).serialize();    
    $("#calculator-wrapper").load("mysite.com/new2/kalkulator/index.php?"+formData+'&sub=Sz%C3%A1mol');
}); 

因为您需要动态创建对象的委派。

答案 1 :(得分:3)

您需要事件委派才能进行更改事件。:

$( "#calculator-wrapper" ).load( "mysite.com/new2/kalkulator/index.php", function(data) {
$(document).on("change",'#calculator',function(){
    var formData = $(this).serialize();
    $( "#calculator-wrapper" ).load("mysite.com/new2/kalkulator/index.php?"+formData+'&sub=Sz%C3%A1mol');
});});