来自ajax的ajax帖子得到

时间:2013-10-23 16:13:42

标签: javascript php jquery ajax

我正试图从ajax get发布ajax。 以下是我正在使用的代码:

$(window).load(function() {
    $.ajax({
        url: "/masterScreen/ajaxdealerpaid/{{$id}}", 
        type: "GET", 
        data: {},
        success: function(data) {
            document.getElementById("dealerPaid").innerHTML=data; 
        }
    });
});

然后我正在尝试:

$(".pay").click(function(){
            alert('Order #'+id+' has been marked as paid for '+amountPaid+'');

    var id = $(this).attr('data-id');
    var amountPaid = $("#payAmount_"+id).val()

    $.ajax({
        url: "/masterScreen/dealermarkpaid/"+id+"/"+amountPaid, 
        type: "POST", 
        data: {},
        success: function(data) {
            alert('Order #'+id+' has been marked as paid for '+amountPaid+'');
            location.reload();
        }
    });
});

我的HTML是......

<table style="width: auto;" class="table table-striped table-condensed" border="0" cellspacing="0" cellpadding="0">
            <thead class="navbar-static-top" style="display:block; margin:0px; cell-spacing:0px; left:0px;">
              <tr>
                <th class="span2">Quote ID</th>
                <th class="span4">Customer name</th>
                <th class="span4">Connection date</th>
                <th class="span4">BDM</th>
                <th class="span4">Owed</th>
                <th class="span4">Amount</th>
                <th class="span2"></th>
              </tr>
            </thead>
            <tbody id="dealerUnpaid" style="display:block; overflow:auto; max-height:400px;">

            </tbody>
            <tfoot id="dealerUnpaidtot" class="navbar-static-top" style="display:block; margin:0px; cell-spacing:0px; left:0px; font-weight: bold;">

            </tfoot>
        </table>

它显示来自第一个javascript的数据,但我也从视图中获取了这个代码来自......

<td class="span4"><input type="text" placeholder="Enter Amount" class="payAmount" data=name="amount" data-id="{{$unpaid->id}}" id="payAmount_{{$unpaid->id}}"></td>

<td class="span2"><input type="button" class="btn pay" value="Pay" data-id="{{$unpaid->id}}"></td>

当我按下“付款”按钮时,它不会执行任何操作:/

任何有助于完成这项工作的帮助都会很好。

谢谢你们

2 个答案:

答案 0 :(得分:1)

如果我理解正确,您将使用AJAX加载标记(包括.pay元素),然后尝试将某些内容绑定到.pay元素的click事件。由于在您进行绑定时页面中不存在.pay元素,因此绑定不起作用。更改绑定:

$('.pay').click(function(){

$(window).on('click', '.pay', function(){

这会将绑定附加到窗口,这样甚至可以在加载窗口后添加的元素上起作用。

答案 1 :(得分:0)

$(".pay").click(function(){...

仅适用于已创建具有类付费的元素,它不能通过ajax调用对新创建的元素起作用。 您可以使用委托功能来处理新创建的元素

$("body").delegate(".pay","click",function(event){

    event.preventDefault(); // prevent default handlings
    alert("Test");
    //do other code...

});