【问题标题】:Call a java script function depending on gridview row根据gridview行调用javascript函数
【发布时间】:2016-06-27 13:28:02
【问题描述】:

嗨,我有一个 javascript 和 gridview 代码

<script type="text/javascript">
function changeImage() {
    var image = document.getElementById('myImage');
    if (image.src.match("bulbon")) {
        image.src = "Images/pic_bulboff.gif";
    } else {
        image.src = "Images/pic_bulbon.gif";
    }
}

<asp:GridView Width="100%" ID="GridView1" DataSourceID="SqlDataSource1" DataKeyNames="ID" AutoGenerateColumns="False" runat="server" CellPadding="4" ForeColor="#333333" GridLines="None">
    <AlternatingRowStyle BackColor="White" />
    <Columns>
        <asp:TemplateField HeaderText="ID">
            <ItemTemplate>
                <asp:Label ID="lbl1" runat="server" Text='<%#Eval("ID") %>' />
            </ItemTemplate>
        </asp:TemplateField>
        <asp:TemplateField HeaderText="Name">
            <ItemTemplate>
                <%#Eval("Name") %>
            </ItemTemplate>
        </asp:TemplateField>
        <asp:TemplateField HeaderText="Desc">
            <ItemTemplate>
                <%#Eval("Desc") %>
            </ItemTemplate>
        </asp:TemplateField>
        <asp:TemplateField HeaderText="On Off">
            <ItemTemplate>
                <img id="myImage" onclick="changeImage()" src="pic_bulboff.gif" />
            </ItemTemplate>
        </asp:TemplateField>

生成的 gridview 大约有 4 行,每次我点击不在第一行的图像时,它只会在第一行触发

关于如何解决此问题的任何建议?

【问题讨论】:

    标签: javascript c# asp.net gridview


    【解决方案1】:

    将您的 javascript 函数更改为,

    <script type="text/javascript">
    function changeImage(obj) {
        //var image = document.getElementById('myImage');
        if (obj.src.match("bulbon")) {
            obj.src = "Images/pic_bulboff.gif";
        } else {
            obj.src = "Images/pic_bulbon.gif";
        }
    }
    

    当你从网格调用它时,调用如下,

    onclick="changeImage(this);"
    

    【讨论】:

      【解决方案2】:
      Try this
      
      <img id="myImage" onclick="changeImage(this)" src="pic_bulboff.gif" />
      
      <script type="text/javascript">
          function changeImage(image) { 
              if (image.src.match("bulbon")) {
                  image.src = "Images/pic_bulboff.gif";
              } else {
                  image.src = "Images/pic_bulbon.gif";
              }
          }
      </script>
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-09-07
        • 2016-08-17
        • 1970-01-01
        相关资源
        最近更新 更多