繁体   English   中英

ASP.NET MVC3下拉JQuery更改事件连线出错

[英]ASP.NET MVC3 dropdown JQuery change event wire up gone wrong

我试图连接并更改事件jQuery处理程序的下拉列表,我必须在用户更改下拉列表中的值后立即使用从控制器操作返回的html填充div“付款”。

这是我到目前为止的内容,我不知道为什么它不起作用或如何进一步进行。 更改下拉值没有错误或响应。 任何帮助非常感谢!

cshtml:

<script type="text/javascript">
$(document).ready(function () {
    $("#PaymentType").change(function () {
        var selection = $("#PaymentType").val();
        var dataToSend = {
            paymentType: selection
        };

        $.ajax({
            url: "Order/PaymentChanged",
            type: "GET",
            data: dataToSend,
            success: function (data) {
                $("#payment").text("server returned:" + data.agent);
            }
        });
    });
});
</script>

@using (Html.BeginForm())
{
   <div id = "payment">
   <br />
   @Html.Label("Select payment method")
   <br />
   <select id="PaymentType" name="PaymentType">
     <option value="CreditCard">Credit Card</option>
     <option value="Cash">Cash</option>
     <option value="Check">Check</option>
   </select>
   </div>
 }

OrderController.cs

    public JsonResult PaymentChanged(string paymentType)
    {
        return Json(new { agent = "sample html" }, JsonRequestBehavior.AllowGet);
    }

标准的,基本未更改的_Layout.cshtml文件,带有所有jQuery src,包括src =“ / Scripts / jquery-1.5.1.min.js”

代码对我来说看起来不错,所以我将回答“如何进一步追求这一目标”

  • 使用Chrome的调试器Firebug查看XHR状态
  • 在Debug模式下(从Visual Studio中)运行MVC应用程序,并在控制器中放置一个断点,以查看它是否确实在被调用,以及paymentType是否被正确发送(鉴于您的代码看起来不错,前者更有可能)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM