在我的MVC局部视图中,下面没有触发:
$(function() {
alert('test');
});
控制台报告'$ is not defined.'
,似乎jQuery未在页面中引用。
但是,在同一个脚本块中,我有其他完美的jQuery函数,所以这个问题似乎与$(function())
或$( document ).ready()
on-load函数隔离。
以下是局部视图中的完整脚本块:
<script type="text/javascript">
$(function () {
debugger;
alert('hi');
});
function updatePaymentTypes() {
$("#paymentTypes").empty();
$('#paymentTypes').append($('<option></option>').val("").html("- Please Select -"));
var getVoucherPaymentTypesUrl = "@Url.Action("getVoucherPaymentTypes", "Supplier", new { id = Model.Supplier.Id, area = "Configurations" })";
$.post(getVoucherPaymentTypesUrl, { "voucherPaymentMethodId": $("#paymentMethods").val() },
function (data) {
for (i = 0; i < data.length; i++) {
var paymentType = data[i];
$('#paymentTypes').append($('<option></option>').val(paymentType.Id).html(paymentType.Name));
}
// Force event
paymentTypeSelected();
});
}
function paymentTypeSelected() {
var getCardDetailsViewUrl = "@Url.Action("getVoucherCardDetailsView", "Supplier", new { id = Model.Supplier.Id, area = "Configurations" })";
$.post(getCardDetailsViewUrl, { "voucherPaymentTypeId": $("#paymentTypes").val() },
function (data) {
$("#cardDetailsView").html(data);
}).fail(function (error) {
debugger;
});
}
</script>
部分视图在jQuery Accordion div中呈现,父视图中的所有jQuery函数,包括$(function())
事件都正常触发。
可能出现什么问题?
答案 0 :(得分:0)
正如大多数人在评论中指出的那样,问题是在呈现jQuery.js的脚本引用之前加载了部分视图。
确保在主视图的顶部添加了对jQuery的脚本引用。