【问题标题】:Dynamically update a html element value based on h1基于h1动态更新一个html元素值
【发布时间】:2014-09-24 18:27:15
【问题描述】:

好的,我有一个问题,我正在努力解决。

在一个 aspx 母版页 (procedure.master.aspx) 我有以下元素:

<Tags>
    <wbc:Tag Value="234"></wbc:Tag>
</Tags>

我想要做的是根据页面内容(调用主程序的procedures.aspx)更改它的VALUE,即如果H1包含"FOO"然后标记@ 987654324@等

TAG 值被发送到存储过程,根据页面内容返回 XML。

不是 javascript 专家,所以对 Javascript(不是 JQuery)或 VB.net 的任何建议持开放态度。

【问题讨论】:

    标签: javascript html asp.net vb.net master-pages


    【解决方案1】:

    如果您不介意在服务器上执行此操作,请使用以下代码。它对我有用:

    在您的 HTML 中添加以下内容:

       <h1 runat="server" id="header1">Foo</h1>
        <div runat="server" id="tag1"></div>
    

    在页面加载后面的代码中:

            If header1.InnerText = "Foo" Then
                tag1.InnerText = "BAR"
            Else
                tag1.InnerText = ""
            End If
    

    或(为了清楚起见)

    在您的 HTML 中添加以下内容:

       <h1 runat="server" id="header1">Foo</h1>
       <Tags>
           <wbc:Tag Value="234" runat="server" id="tag1"></wbc:Tag>
       </Tags>
    

    在页面加载后面的代码中:

            If header1.InnerText = "Foo" Then
                tag1.Value= "BAR"
            Else
                tag1.Value= ""
            End If
    

    【讨论】:

    • 一种不错的简单 JS 免费方式。好主意@Simua - 谢谢。
    【解决方案2】:

    如果你有 jQuery,下面的 sn-p 应该可以工作。此代码还假设您为 wbc:Tag 元素提供了一个 id,在本例中为“myElement”。

    $(document).ready(function(){
        var text = $("h1#elementName").text();
        if (text == "FOO");
            $("#myElement").attr("Value", "BAR");
    });
    

    如您所见,这将在加载时读取 H1 元素的内容。那是你想要的吗?还是可以动态改变元素的内容?

    【讨论】:

    • 嗨@mar​​tingo89 感谢您的解决方案。我可以给 一个 ID,但是由于该站点对于其他功能来说已经是 JS 很重,我试图避免将 jqeury 添加到组合中。虽然我可能能够根据你的 sn-p 做一些事情。不过仍然对其他想法持开放态度。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-05-15
    • 2013-05-11
    • 1970-01-01
    • 2011-07-10
    相关资源
    最近更新 更多