dropdown list not working after cloning

dropdown list not working after cloning

  1. I have the following code for cloning the cascading dropdownlist...it is working when the page is loading ...but after adding a dynamic row the dropdownlist in the newly added row is not working...Please help me...
  2. <!DOCTYPE html>
  3. <html>    
  4. <head>
  5.     <title></title> 
  6. </head>
  7. <body>
  8. <table border="1" id="table">
  9. <tr><td>
  10.     <select id="cat">
  11.        <option value="c">A</option>
  12.        <option value="p">B</option>
  13.        <option value="n">C</option>
  14.        <option value="k">D</option>
  15.     </select>
  16.    </td>
  17.    <td><select id="item"></select></td>
  18. </tr>
  19. </table>
  20. <INPUT type='button' value='Add Row' onclick="addRow('table')" />

  21. <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.4/jquery.min.js"></script>
  22. <script type="text/javascript">
  23.   c=new Array('a1','a2','a3');
  24.   p=new Array('p1','p2','p3');
  25.   n=new Array('n1','n2','n3');
  26.   k=new Array('k1','k2','k3');
  27.   populateSelect();

  28.   $(function() {
  29.      $('#cat').change(function(){
  30.         populateSelect();
  31.      });
  32.   });

  33.   function populateSelect(){
  34.     cat=$('#cat').val();
  35.     $('#item').html('');
  36.     eval(cat).forEach(function(t) { 
  37.         $('#item').append('<option>'+t+'</option>');
  38.     });
  39.   }
  40. </script>
  41. <script type="text/javascript">

  42.    function addRow(tableID)
  43.    {    
  44.        //return false; // Prevent page refresh
  45.        var table = document.getElementById(tableID);
  46.        var rowCount = table.rows.length;
  47.        var row = table.insertRow(rowCount);
  48.        var colCount = table.rows[0].cells.length;
  49.        for(var i=0; i<colCount; i++) {
  50.           var newcell = row.insertCell(i);
  51.           newcell.innerHTML = table.rows[0].cells[i].innerHTML;
  52.           //alert(newcell.childNodes);
  53.           switch(newcell.childNodes[0].type) {
  54.              case 'text':
  55.                 newcell.childNodes[0].value = '';
  56.                 break;
  57.              case 'checkbox':
  58.                 newcell.childNodes[0].checked = false;
  59.                 break;
  60.              case 'select-one':
  61.                 newcell.childNodes[0].selectedIndex = 0;
  62.                 break;
  63.           }
  64.        }
  65.        var frm = document.getElementsByName('leave');
  66.        //frm.submit(); // Submit
  67.        frm.reset();  // Reset 
  68.     }
  69. </script>

  70. </body>
  71. </html>