使用 ASP.NET MVC 的 jQuery 选择器出现问题
Posted
技术标签:
【中文标题】使用 ASP.NET MVC 的 jQuery 选择器出现问题【英文标题】:Trouble with jQuery selector using ASP.NET MVC 【发布时间】:2010-09-27 11:24:14 【问题描述】:我是 ASP.Net MVC 和 jQuery 的新手,我想做的是创建一个表单,根据 rockbandid 是否为空 guid,添加新的 RockBand 或更新现有的 RockBand。我认为现在是开始使用 jQuery 的好时机。所以第一步是制作一个乐队列表,并在它旁边放一个编辑链接。如果用户单击编辑链接,我想更改输入框和隐藏字段的值。下面的代码是第一步,尝试设置输入框的值(暂时使用固定字符串,但最终将是乐队名称)。但是,当我这样做时,我得到了一个需要对象的错误。 (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>
感觉就像我非常接近......但缺少一些基本的东西。
【问题讨论】:
【参考方案1】:您的代码很好。您对 JQuery 的包含可能是错误的。顺便说一句,谷歌正在为 jQuery 和其他 API 提供免费托管。您可以尝试通过以下方式替换您的 jQuery 包含:
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.2.6/jquery.min.js"></script>
但无论如何...检查它是否指向正确的文件。
【讨论】:
就是这样......我从脚本文件夹中拖放文件真是太傻了。谢谢!【参考方案2】:我将您的 HTML 和 JavaScript 复制到一个示例文件中;它对我有用。我唯一建议的是将您的锚点更改为以下内容:
<a href='#' onclick='fillinbandname("somesamplevalue"); return false;'>edit</a>
另外,你不一定需要一个函数来做到这一点,你可以直接在 onclick 事件中使用 jQuery。不过,这取决于您的判断。
请确保您的 HTML 按预期生成,并确保您为每个乐队名称和乐队 ID 生成唯一 ID。ID 在 HTML 文档中不能出现多次。 p>
【讨论】:
这也有帮助,因为我可以内联它并使其更具可读性。谢谢! 我相信他计划在编辑时将唯一ID放入隐藏的bandid字段的值中。以上是关于使用 ASP.NET MVC 的 jQuery 选择器出现问题的主要内容,如果未能解决你的问题,请参考以下文章