0

想知道为什么它不是一次点击加载,而是两次加载..................... ...................................?

<input id="btnPaymentAdd" type="button" value="Add Payment Info" />
</p>
<div id="paymentSection"></div>
<br />    

....

$("#btnPaymentAdd").click(function () {
    $("#paymentSection").load('/Donation/AddPaymentInfo');
    $("#paymentSection").show('slow');
});

....

public ActionResult AddPaymentInfo()
{

    var vModel = new PaymentViewModel();
    vModel.Payment = new Payments();
    vModel.PaymentType = new WCCDentalApp.Models.PaymentType();

    ViewBag.PaymentTypes = new SelectList(dbEntities.PaymentTypes.OrderBy(pt => pt.PaymentTypeID),
    "PaymentTypeID", "PaymentType1", vModel.Payment.PaymentTypeID);

    return PartialView("PaymentPView", vModel);
}
4

1 回答 1

2

您需要.show()在页面加载后绑定您的功能...

$("#btnPaymentAdd").click(function(){
    $("#paymentSection").load('/Donation/AddPaymentInfo', function(){
         $(this).show('slow');
    });
});

或者你可以使用.get(),像这样:

$("#btnPaymentAdd").click(function(){
    $.get('/Donation/AddPaymentInfo', function(data){
         $("#paymentSection").html(data).show('slow');
    });
});

否则,你拥有它的方式只会在.show()不等待页面加载的情况下完成,会让你觉得点击它两次就可以了。

于 2012-05-02T02:23:56.377 回答