2017-09-15 58 views
0

我有一个jQuery的功能,更新一些下拉选项的选择一些输入框。我也动态添加尽可能多的选择,因为我想使用与第一个选择相同的id的addRow函数。但是,jquery函数不会为新选择而触发。下面是我用于更新输入框的jQuery:jquery更新动态添加下拉

​​

而且还addRow功能:

function addRow(tableID) 
{ 
     var table=document.getElementById(tableID); 
     var rowCount=table.rows.length; 
     var row=table.insertRow(rowCount); 
     var colCount=table.rows[0].cells.length; 

     for(var i = 0; i < colCount; i++) 
     { 
      var newcell = row.insertCell(i); 
      var oldId = table.rows[0].cells[i].childNodes[1].text; 
      newcell.innerHTML = table.rows[0].cells[i].innerHTML; 

      switch(newcell.childNodes[i]) 
      { 
       case"#text": 
        newcell.childNodes[i].value=""; 
        break; 
       case"#checkbox": 
        newcell.childNodes[i].checked=false; 
        break; 
       case"#select-one": 
        newcell.childNodes[i].selectedIndex=0; 
        break; 
      } 


     } 
    } 

而且我下面的HTML代码:

<table id="recipes" class="table"> 
     <a href="#" onclick="addRow('recipes');" class="btn btn-default"> 
      <span class="glyphicon glyphicon-plus"></span> Add Another Recipe 
     </a> 
     <a href="#" onclick="deleteRow('recipes');" class="btn btn-danger"> 
      <span class="glyphicon glyphicon-trash"></span> 
     </a> 
     <tr> 
      <td> 
       <select name="menusName" id="menusName" required> 
        <option>Choose a Menu</option> 
        <?php if($menus != null){ 
         foreach($menus as $r){ ?> 
         <option><?php echo $r->menuName;?></option> 
        <?php }}?> 
       </select> 
      </td> 
      <td>Makes: <input readonly name="makes" id="makes" type="text" required/></td> 
      <td>Cake Type: <input readonly name="type" id="type" type="text" required/></td> 
      <td>Multiply Recipe by: <input name="mulRecipe" id="mulRecipe" type="text" required/></td> 
     </tr> 
    </table> 

回答

0

尝试使用$(document).ready()功能:

$(document).ready(function() { 
    /* your code */ 
});