var getRadioValue = function(name) {
  var radios = document.getElementsByName(name);
  for (var i = 0, length = radios.length; i < length; ++i) {
      if (radios[i].checked) {
        return radios[i].value
      }
  }
  
  return null;
};
var Actions = {
  addPrompt: function(i) {
    var value = getRadioValue('fruit-fresh-' + i);
    if (value == "no") {
      prompt('Why is ' + fruits[i] + ' not fresh? Explain:');
    }
    else if (value == "yes") {
      alert('We are glad that ' + fruits[i] + ' is fresh! Good job!');
    }
    else {
      alert('Please, check the corresponding value for ' + fruits[i] + ' freshness!');
    }
  },
  save: function(i) {
    alert('Saving: ' + fruits[i]);
  },
  generateMarkupForFruit: function(i, fruitName) {
    var template = document.querySelector('#fruits-template');
    var row = document.importNode(template.content, true);
    var fruitId = 'fruit-' + i,
        fruitField = row.querySelector('.fruit'),
        fruitLabel = row.querySelector('.fruit-label');
    fruitField.value = fruitName;
    fruitField.setAttribute('id', fruitId);
    fruitLabel.textContent = fruitName;
    fruitLabel.setAttribute('for', fruitId);
    var yesId = 'fruit-yes-' + i,
        noId = 'fruit-no-' + i,
        groupId = 'fruit-fresh-' + i,
        yesField = row.querySelector('.yes'),
        yesLabel = row.querySelector('.yes-label'),
        noField = row.querySelector('.no'),
        noLabel = row.querySelector('.no-label');
    yesField.setAttribute('name', groupId);
    yesField.setAttribute('id', yesId);
    yesLabel.setAttribute('for', yesId);
    noField.setAttribute('name', groupId);
    noField.setAttribute('id', noId);
    noLabel.setAttribute('for', noId);
    var addPromptBtn = row.querySelector('.add-prompt-btn'),
        saveBtn = row.querySelector('.save-btn');
    addPromptBtn.addEventListener('click', Actions.addPrompt.bind(null, i));
    saveBtn.addEventListener('click', Actions.save.bind(null, i));
    
    return row;
  }
};
var fruits = ["Apple", "Banana", "Grapes"];
var table = document.querySelector('#fruits');
for (var i = 0; i < fruits.length; ++i)
{
  var row = Actions.generateMarkupForFruit(i, fruits[i]);
  table.appendChild(row);
}
#fruits {
  width: 100%;
  border-collapse: collapse;
}
#fruits td,
#fruits th {
  border: solid 1px;
  padding: 0.25em;
}
#fruits th {
  color: #fff;
  background: #000;
}
#fruits .actions {
  text-align: center;
}
#fruits .actions .save-btn {
  font-weight: bold;
}
<table id="fruits">
  <tr>
    <th>Fruit</th>
    <th>Is fruit fresh?</th>
    <th>Actions</th>
  </tr>
</table>
<template id="fruits-template">
  <tr>
    <td>
      <input type="checkbox" class="fruit">
      <label class="fruit-label"></label>
    </td>
    <td>
      <input type="radio" class="yes" value="yes">
      <label class="yes-label">Yes</label>
      <input type="radio" class="no" value="no">
      <label class="no-label">No</label>
    </td>
    <td class="actions">
      <button type="button" class="add-prompt-btn">Add Prompt</button>
      <button type="button" class="save-btn">Save</button>
    </td>
  </tr>
</template>