1

Hi i have a javascript & gridview code with

<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>

And the generated gridview will have about 4 rows and every time i click on the image which is not on the first row it will only trigger on the first row

Any suggestion on how to fix this?

0

2 Answers 2

2

Change your javascript function to,

<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";
    }
}

When you call it from grid, call as below,

onclick="changeImage(this);"
Sign up to request clarification or add additional context in comments.

Comments

0
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>

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.