使用ASP.NET MVC的jQuery选择器出现问题

时间:2008-12-18 04:32:33

标签: jquery asp.net-mvc

我是ASP.Net MVC和jQuery的新手,而我正在尝试做的是创建一个表单,根据rockbandid是否为空guid,添加新的RockBand或更新现有的RockBand。我认为现在是开始使用jQuery的好时机。因此,第一步是制作一个乐队列表并在其旁边放置一个编辑链接。如果用户点击编辑链接,我想改变输入框和隐藏字段的值。下面的代码是第一步,尝试设置输入框的值(目前使用固定字符串,但最终将是带名称)。但是,当我这样做时,我得到了一个Object Required Error。 (jQuery包含在Site.Master上)

<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 个答案:

答案 0 :(得分:1)

我将您的HTML和JavaScript复制到示例文件中;它对我有用。我唯一建议的是将你的锚更改为以下内容:

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

此外,您不一定需要一个函数来执行此操作,您可以直接在onclick事件中使用jQuery。这是由你自行决定的。

确保您的HTML按预期生成,并确保为每个bandname和bandid生成唯一ID。 ID不能在HTML文档中出现多次。

答案 1 :(得分:1)

你的代码很好。你的JQuery包含可能是错误的。顺便说一句,谷歌提供免费托管jQuery和其他API。你可以尝试用这个替换你的jQuery:

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

但无论如何......检查它是否指向正确的文件。