Проблема с селектором jQuery с использованием ASP.NET MVC - PullRequest
0 голосов
/ 18 декабря 2008

Я новичок в ASP.Net MVC и jQuery, и я пытаюсь создать форму, которая либо добавляет новый RockBand, либо обновляет существующий RockBand, основываясь на том, является ли rockbandid пустым guid или нет. Я подумал, что сейчас самое время начать работать с jQuery. Итак, первый шаг - составить список групп и добавить ссылку для редактирования рядом с ним. Если пользователь нажимает на ссылку редактирования, я хочу изменить значение поля ввода и скрытого поля. Приведенный ниже код является первым шагом, пытающимся установить значение поля ввода (с фиксированной строкой на данный момент, но в конечном итоге это будет любое имя группы). Тем не менее я получаю объект Обязательная ошибка при этом. (JQuery включить находится на сайте. Мастер)

<asp:Content ID="Content1" ContentPlaceHolderID="MainContent" runat="server">
<script type="text/javascript">
    function fillinbandname(thebandname) {
        $('#bandname').val(thebandname);
    }
</script>
<ul>
<%foreach (DomainModel.RockBand rockband in ViewData.Model) %>
<%{ %>
<li><%=rockband.BandName %> <a href='javascript:fillinbandname("somesamplevalue");'>edit</a></li>
<%} %></ul>

<%Html.BeginForm("MakeOrUpdateRockBand", "Bands", FormMethod.Post); %>
<input type="text" id="bandname" name="bandname" maxlength="30" />
<input type="hidden" id="bandid" name="bandid" value="00000000-0000-0000-0000-000000000000" />
<input type="submit" value="Add New Band" />
<%Html.EndForm(); %>

</asp:Content>

Такое ощущение, что я ооочень близка ... но мне не хватает чего-то фундаментального.

Ответы [ 2 ]

1 голос
/ 18 декабря 2008

Ваш код в порядке. Ваше включение для JQuery, вероятно, неправильно. Кстати, Google предоставляет бесплатный хостинг для jQuery и других API. Вы можете попытаться заменить ваш jQuery include следующим:

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.2.6/jquery.min.js"></script>

Но в любом случае ... убедитесь, что он указывает на нужный файл.

1 голос
/ 18 декабря 2008

Я скопировал ваш HTML и JavaScript в файл примера; это сработало для меня. Единственное, что я бы посоветовал, это изменить ваш якорь на следующее:

<a href='#' onclick='fillinbandname("somesamplevalue"); return false;'>edit</a>

Кроме того, вам не обязательно нужна функция для этого, вы можете использовать jQuery непосредственно в событии onclick. Это на ваше усмотрение.

Убедитесь, что ваш HTML генерируется так, как вы ожидаете, , а также убедитесь, что вы генерируете уникальные идентификаторы для каждого имени диапазона и полосы пропускания. Идентификаторы не могут появляться более одного раза в документе HTML.

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