ドロップダウンリストのイベント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);
}
src = "/ Scripts/jquery-1.5.1.min.js"を含むすべてのjQuerysrcを含む標準のほとんど変更されていない_Layout.cshtmlファイル