1

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

<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,当单击提交按钮时应该执行这些 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加载到页面后......提交按钮将不起作用..

请建议正确的方法

4

3 回答 3

1

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

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

但是,由于#save_expensesthis 绑定时不存在,因此您需要委托它:

$("#code_block").on('click', '#save_expenses', function () { ...
于 2013-01-07T18:31:05.717 回答
0

您可以在 HTML 中添加 javascript,它将被执行:

<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
});
于 2013-01-07T18:28:51.180 回答
0

非常感谢您的快速回复,我无法在此处发布所有代码供您查看..

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

第1步图 1

第2步图 2

第 3 步图 3

我感谢大家的努力。我很感激

于 2013-01-07T19:10:56.413 回答