我正在尝试为下拉列表连接和更改事件 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>
}
订单控制器.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"