2013-01-07 56 views
1

如何在使用jQuery加载某个文件的某个部分后,在文件的头文件中执行JavaScript使用此代码加载页面的某个部分$("#code_block").load('newexpenses.php #deposit_table'); ..例如下面是加载的代码的一部分。如何在使用AJAX加载页面的一部分后执行JavaScript

<table id=""><td><span class="f3">Cheque No</span></td> 
    <td><input type="text" name="ch_no" id="ch_no" value=""></td> 
</tr><tr> 
    <td></td> 
    <td><input type="submit" name="save_expenses" id="save_expenses" value="Save Expenses"></td> 

文件newexpenses.php有一些JavaScript和jQuery在其头部被点击提交按钮时应该执行。如下面

var urldata = 'r='+rno+'&d='+desc+'&a='+amt+'&e='+exp_type+'&p='+paymode+'&c='+ch_no+'&save=1'; 
      //alert(urldata); 

      $.ajax({ 
       type : "GET", 
       data : urldata, 
       url:"save.php", 
       cache: false, 
       success:function(result2){ 
        $(".div1").html(result2); 
       } // ends success function 
      }); // ends ajax call 

但是HTML的一部分后,已经加载到页面...提交按钮会不会工作。

请建议的正确方法

+0

@ user1862764不完全理解你的问题,你是否试图绑定一个onclick监听器使用AJAX加载的SUBMIT按钮?这是你的要求吗? –

+0

AJAX完成后需要运行的JavaScript是什么?有几种方法,根据你想要运行的代码,有些方法比其他方法更好。 – Blazemonger

+0

如果您想运行一次外部JavaScript文件,请使用['.getScript()'](http://api.jquery.com/jQuery.getScript/)。如果您还需要在其他时间运行代码,请将其包装在函数中并调用它。根据您是否有任何事件处理程序,可能需要也可能不需要委派事件处理程序。 – Blazemonger

回答

1

如果#save_expenses是异步加载的,我相信你想委托你绑定的事件。例如,你可以有:

$("#save_expenses").on('click' ... 

然而,由于#save_expenses不存在时,这注定,你需要委派它:

$("#code_block").on('click', '#save_expenses', function() { ... 
+0

是的,我认为这是OP的要求。 –

0

你可以添加JavaScript你的HTML中,它会被执行:

<table id=""> 
    <tr> 
    <td><span class="f3">Cheque No</span></td> 
    <td><input type="text" name="ch_no" id="ch_no" value=""></td> 
    </tr> 
    <tr> 
    <td></td> 
    <td><input type="submit" name="save_expenses" id="save_expenses" value="Save Expenses"> 
    </td> 
    </tr> 
</table> 

<script type="text/javascript"> 
    $('#save_expenses').click(function(){ 
    var urldata = 'r='+rno+'&d='+desc+'&a='+amt+'&e='+exp_type+'&p='+paymode+'&c='+ch_no+'&save=1'; 
     //alert(urldata); 

     $.ajax({ 
      type : "GET", 
      data : urldata, 
      url:"save.php", 
      cache: false, 
      success:function(result2){ 
       $(".div1").html(result2); 
      } // ends success function 
     }); // ends ajax call 
    }); 
</script> <!-- OR --> <script src="yourfile.js"></script>  

,或者你应该使用事件代表团(这是做正确的方式),因此它不会被加载代码事的时候:

$(document).on('submit', '#save_expenses', function(){ 
    // will work forever 
    var urldata = 'r='+rno+'&d='+desc+'&a='+amt+'&e='+exp_type+'&p='+paymode+'&c='+ch_no+'&save=1'; 
     //alert(urldata); 

     $.ajax({ 
      type : "GET", 
      data : urldata, 
      url:"save.php", 
      cache: false, 
      success:function(result2){ 
       $(".div1").html(result2); 
      } // ends success function 
     }); // ends ajax call 
}); 
+0

这个脚本可以帮助我解决问题 – user1862764

0

非常感谢您快速作出回应, 我可以不要在这里发布我的所有代码供您参考..

我想要做的是创建一个动态选择菜单,自动填充存储在数据库表中的选项。这就是为什么我试图使用负载来重新加载页面,以便它包含菜单。

步骤1 image 1

第2步

步骤3 image 3

我感谢大家的努力。 im感谢

相关问题