Ответ 1
Вы разместили свой script в теле просмотра, а не в разделе Scripts
, где он принадлежит, и после, ссылаясь на jQuery:
@section Scripts {
@Scripts.Render("~/Scripts/jquery-1.7.1.min.js")
@Scripts.Render("~/Scripts/jquery-ui-1.8.20.min.js")
@Scripts.Render("~/bundles/jqueryval")
<script type="text/javascript">
$(function () {
$('#cb').click(function () {
if (this.checked) {
$('div#div').slideDown();
} else {
$('div#div').slideUp();
}
});
});
</script>
}
Кроме того, чтобы дважды не ссылаться на jQuery (как в вашем случае), проверьте, не включили ли вы его уже как пакет в _Layout
.
И последнее замечание: поскольку по умолчанию скрипты включены в конец DOM, перед тегом закрывающего тега, вам не нужно обматывать ваш script в $(document).ready
просто потому, что к тому времени он выполняет DOM уже загружен. Ваш код еще хуже, потому что вы его дважды. Имейте в виду, что $(function() { ... });
эквивалентен $(document).ready(function() { ... });
, и в вашем случае вы вложили 2 из этих вещей, когда вам действительно не нужны какие-либо из них.
Итак:
@section Scripts {
@Scripts.Render("~/Scripts/jquery-1.7.1.min.js")
@Scripts.Render("~/Scripts/jquery-ui-1.8.20.min.js")
@Scripts.Render("~/bundles/jqueryval")
<script type="text/javascript">
$('#cb').click(function () {
if (this.checked) {
$('div#div').slideDown();
} else {
$('div#div').slideUp();
}
});
</script>
}