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 が含まれています。例えば以下

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_expensesこれがバインドされている場合は存在しないため、委任する必要があります。

$("#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 に答える