0

なぜワンクリックではロードされないのか、2クリックではロードされないのか疑問に思います...................................。 .............................?

<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 に答える