为什么我需要双击按钮才能让 JQuery 渲染部分视图

本文关键字:JQuery 染部 视图 双击 按钮 为什么 | 更新日期: 2023-09-27 18:32:47

想知道为什么它不是一次加载,而是两次加载。

<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);
}

为什么我需要双击按钮才能让 JQuery 渲染部分视图

您需要

在页面加载后绑定.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()而无需等待页面加载,这会让您认为单击两次即可。