C# 在jQueryUI选项卡中的动态加载用户控件中使用Javascript
我需要在UserControl中插入一些JavaScript代码,我通过jQueryUI选项卡从Ajax调用加载这些代码。让我解释一下 这是我的视图(已加载jQuery) 这是用户控件C# 在jQueryUI选项卡中的动态加载用户控件中使用Javascript,c#,jquery,asp.net-mvc,user-controls,jquery-ui-tabs,C#,Jquery,Asp.net Mvc,User Controls,Jquery Ui Tabs,我需要在UserControl中插入一些JavaScript代码,我通过jQueryUI选项卡从Ajax调用加载这些代码。让我解释一下 这是我的视图(已加载jQuery) 这是用户控件 <%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl" %> Number... <span id="testSpan"><%=Model.ToString() %></span>!!
<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl" %>
Number... <span id="testSpan"><%=Model.ToString() %></span>!!
<input type="button" value="Click me!!" onclick="message();" />
<script type="text/javascript">
function message(item) {
alert($("#testSpan").html());
}
</script>
数字!!
功能信息(项目){
警报($(“#testSpan”).html();
}
问题是message()函数总是返回1(而不是返回正确的数字)
我的问题是。。。我应该如何将脚本添加到我的UserControl中以使代码正确运行?我只是在这里猜测 我猜您的问题是,当加载选项卡时,即使您打开另一个选项卡,它也会保持在DOM中(即,如果默认值为#1,则即使您单击第二个选项卡,它也会保持加载状态) 如果发生这种情况,当您调用消息函数时,将有多个id为“testSpan”的元素,jQuery选择器$(“#testSpan”)将返回第一个元素 我想这只是一些测试代码,但对于这种特殊情况,我会将作为参数添加到javascript函数中 同样,我只是猜测jquery ui tabs()函数的行为
请尝试添加这样的脚本
<script type="text/javascript" defer="defer">
function message(item) {
alert($("#testSpan").html());
}
</script>
功能消息(项目){
警报($(“#testSpan”).html();
}
这可能是一个解决方案,但我以不同的(更干净的IMHO)方式解决了问题。现在,我清空上一个选项卡的内容,这样ID总是唯一的。非常感谢。
<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl" %>
Number... <span id="testSpan"><%=Model.ToString() %></span>!!
<input type="button" value="Click me!!" onclick="message();" />
<script type="text/javascript">
function message(item) {
alert($("#testSpan").html());
}
</script>
<script type="text/javascript" defer="defer">
function message(item) {
alert($("#testSpan").html());
}
</script>