【问题标题】:Change image in ASP.NET with jQuery使用 jQuery 在 ASP.NET 中更改图像
【发布时间】:2011-10-11 22:38:53
【问题描述】:

我得到了这个 jQuery 脚本:

function changeImage(e) {
    var nextImg = $(e).attr('nextImage');
    var oldImg = document.getElementById('<%=imgMain.ClientID %>');
    $(oldImg).attr('src', nextImg);

    return false;
}

还有这个 ASP.NET 标记:

<asp:LinkButton runat="server" id="lbOne" Text="1" OnClientClick="changeImage(this); return false;" />
<asp:LinkButton runat="server" id="lbTwo" Text="2" OnClientClick="changeImage(this); return false;" />

后面的代码:

lbOne.Attributes.Add("nextImage", "some_image");
lbTwo.Attributes.Add("nextImage", "some_image2);

一些如何不会改变图像 src jQuery 脚本对我来说看起来不错有什么想法吗?

发现错误:

var oldImg = document.getElementById('<%=imgMain.ClientID %>');

需要像这样添加'#':

var oldImg = document.getElementById('#<%=imgMain.ClientID %>');

现在可以使用了。感谢 cmets!

【问题讨论】:

  • 仍然无法工作我检查了页面的来源并查看了它有 href:href="javascript:__doPostBack('id','') 可能是因为这个?它抛出回帖?
  • 我不确定您是否可以“覆盖” LinkBut​​ton 的客户端代码。为什么不为此使用普通的&lt;a&gt; 标签?
  • 您能否将问题标记为已回答,以便所有人都知道?

标签: c# javascript jquery asp.net image


【解决方案1】:

当我测试它时,这对我有用,但是您的示例代码在“some_image2”之后缺少一个 qoute,并且缺少 imgMain 控件。

您是否检查过 JavaScript 正在触发的萤火虫? 你确定你的页面引用了 jQuery 吗?

【讨论】:

  • 引用不是问题我只是在这里发布代码时更改了图像名称可能只是错过了引用并且 imgMain 是一个 asp:Image:
  • 什么是
  • 与 asp 相同的私有库:具有不同选项的图像
  • 你调试过firebug中的javascript了吗?查看事件是否正在触发并且客户端 ID 是否被正确提取?
  • 在 jQuery 中发现应该是这样的错误: var oldImg = $('#');忘记了'#'基本...
【解决方案2】:

尝试做一个小的调整,以便完全阻止回发。

<asp:LinkButton runat="server" id="lbTwo" Text="2" OnClientClick="return changeImage(this);" />

【讨论】:

    猜你喜欢
    • 2015-02-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-05-06
    • 2012-08-07
    • 2010-10-07
    • 2019-07-05
    相关资源
    最近更新 更多