Синтаксис JQuery MVC2 не работает - PullRequest
1 голос
/ 08 октября 2010

Я пытаюсь сделать следующее:

<script src="Scripts/MicrosoftAjax.js" type="text/javascript"></script>
<script src="Scripts/MicrosoftMvcAjax.js" type="text/javascript"></script>
<script src="Scripts/jquery-1.4.1.min-vsdoc.js" type="text/javascript"></script>

<%=Html.DropDownList("ddlPostage", new SelectList(Model.PostageOptions as IEnumerable, "id", "text", Model.SelectedPostageId)) %>

 <script language="javascript">
     $('#ddlPostage').change(function() {
         alert('okay to go');
     });

</script>

Но получаю ошибку времени выполнения в системном налоге JQuery. Msgstr "Ошибка времени выполнения Microsoft JScript: ожидается объект".

Насколько я понимаю, мой путь к jquery в порядке, потому что проверка формы с использованием <% Html.EnableClientValidation(); %> отлично работал на одной из моих предыдущих страниц, и файл jquery находится рядом с другими файлами js по умолчанию в VS2008.

Что я делаю / что здесь не так? Заранее спасибо.


Спасибо за ваш ответ. Я пробовал оба пути. К сожалению, не сработало. Вот как теперь выглядят мои коды ..

внутри основного содержимого заполнителя:

<script src="Scripts/MicrosoftAjax.js" type="text/javascript"></script>
<script src="Scripts/MicrosoftMvcAjax.js" type="text/javascript"></script>
<script src="Scripts/jquery-1.4.1.min-vsdoc.js" type="text/javascript"></script>
<script src="Scripts/jquery-1.4.1.min.js" type="text/javascript"></script>

<script language="javascript">
     $(document).ready(function() {
         $('#ddlPostage').change(function() {
             alert('ok to go');
         });
     });
</script> 

Просто из любопытства: я единственный, кто сталкивается с этой проблемой ??

Спасибо

Ответы [ 2 ]

2 голосов
/ 08 октября 2010

Во-первых, вам не хватает ссылки на сам jQuery. Ссылка, имеющаяся у вас теперь с vsdoc, является просто помощником для Visual Studio для предоставления IntelliSense. Добавьте этот блок скрипта для ссылки на собственно jQuery:

<script src="Scripts/jquery-1.4.1.min.js" type="text/javascript"></script>

Во-вторых, вы должны подключить свои обработчики событий в событие document.ready. Ваш код, вероятно, будет работать без этого, но может действовать так, как вы этого не ожидаете.

 $(document).ready(function() {
     $('#ddlPostage').change(function() {
         alert('okay to go');
     });
 });
0 голосов
/ 11 октября 2010

Решил это. вся вещь "javascript" должна была быть добавлена ​​в голову. Я добавил его в центральный заполнитель содержимого, а не в заголовок.

Теперь все работает хорошо. Теперь я могу перейти к фактической цели, которая заключается в получении ответа через Json.

@ Джон, спасибо, приятель!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...