[2 days left] What’s wrong with your cloud strategy? Learn why multicloud solutions matter with Nimble Storage.Register Now


html javascript change value of cell based on contents of another cell

Posted on 2013-12-13
Medium Priority
Last Modified: 2013-12-13

I have an html table which is populated with data from a source that we can't edit.  So, any changes we make need to be when the page loads using javascript.

Let's say I have a table which contains the following rows

<table id=animals>
  <td class=td1 id=status>Available</td>
  <td class=td1 id=sub>Horse</td>
  <td class=td1 id=status>Available</td>
  <td class=td1 id=sub>Donkey</td>

 Where the content of the table cell with id=sub is "Donkey", I want the status field to say "unavailable" instead of "available".  If the content of the field is anything other than "Donkey" the status field should remain unchanged.
 How can this be achieved with javascript given that it has to work on a row by row basis?
Question by:yelbow
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 3
  • 2

Expert Comment

ID: 39717814
First of all, you cannot have two objects on the same page with the same id.
Secondly, how are you populating your data table?  What data source are you reading from? Why not just set the correct value when you populate the table?

Author Comment

ID: 39717825
It comes from a 3rd party app, the only part of it which we can edit is the resulting html.  So, we inherit it like this and can only amend the data at that point.

Expert Comment

ID: 39717831
Does the third party app create the table for you including the duplicate id?  If so, I would go back to them and let them know they have a basic HTML issue.  With that data structure, how will you tell one id=sub from another to make the change?
Technology Partners: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

LVL 82

Accepted Solution

leakim971 earned 2000 total points
ID: 39717838
Test page : http://jsfiddle.net/PAN56/

function changeStatusFor(content_to_search, newStatus) {
    var animals_table = document.getElementById("animals");
    var cells = animals_table.getElementsByTagName("td");
    var number_of_cells = cells.length;
    for(var i=0;i<number_of_cells;i++) {
        var cell = cells[i];
        var cell_content = cell.innerHTML;
        if(cell_content == content_to_search) {
            var row = cell.parentNode;
            var cell_status = row.getElementsByTagName("td")[0];
            cell_status.innerHTML = newStatus; 

window.onload = function() {

Open in new window


Author Comment

ID: 39717839
They do, but we can amend that too (though I will mention it to them).

If they had unique IDs would it be possible?

What if the fields had no ID at all?

Author Closing Comment

ID: 39717867

Featured Post

Concerto Cloud for Software Providers & ISVs

Can Concerto Cloud Services help you focus on evolving your application offerings, while delivering the best cloud experience to your customers? From DevOps to revenue models and customer support, the answer is yes!

Learn how Concerto can help you.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Nothing in an HTTP request can be trusted, including HTTP headers and form data.  A form token is a tool that can be used to guard against request forgeries (CSRF).  This article shows an improved approach to form tokens, making it more difficult to…
Boost your ability to deliver ambitious and competitive web apps by choosing the right JavaScript framework to best suit your project’s needs.
The viewer will learn the basics of jQuery, including how to invoke it on a web page. Reference your jQuery libraries: (CODE) Include your new external js/jQuery file: (CODE) Write your first lines of code to setup your site for jQuery.: (CODE)
The viewer will learn the basics of jQuery including how to code hide show and toggles. Reference your jQuery libraries: (CODE) Include your new external js/jQuery file: (CODE) Write your first lines of code to setup your site for jQuery…

656 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question