2015-12-14 69 views
1

编辑html onchange属性时出现问题,不让我这样做。我的HTML代码是:我无法修改克隆的对象的onchange字段javascript

<table id="insertar"> 
       <tr><td>Producto</td><td>Stock</td><td>Cantidad</td></tr> 
       <tr><td> 
       <select id="p1" name="producto[]" onChange="document.getElementById('stock1').value = setStock('p1')" > 
     <option value="" >---------</option> 
       <option value="Mexico">Mexico</option> 
       </select> 
       </td> 
       <td><input type="text" id="stock1" value="" name="stock[]" readonly /></td> 
       <td><input type='text' name='cantidad[]' required /></td></tr> 
      </table> 
     <a href="#" onclick="addRow()" >Agregar otro</a> 

而且我的代码JavaScript是:

var _default; 
var counter=2; 
window.onload=function(){ 
    var x=document.getElementById("insertar").tBodies[0]; 
    _default =x.rows[1].cloneNode(true); 
} 
function addRow(){ 
    var c=0; 
    var x=document.getElementById("insertar").tBodies[0]; 
    Array.prototype.slice.call(_default.childNodes, 0).forEach(function(value){ 
     Array.prototype.slice.call(value.childNodes, 0).forEach(function(value1){ 
      if((value1.nodeType === 1) && (c === 0)){ 
       value1.id="p" + counter; 
value1.onchange="document.getElementById(\"stock"+counter+"\").value = setStock(\"p"+counter+"\")"; 
       c++; 
      }else if((value1.nodeType === 1) && (c === 1)){ 
       value1.id = "stock" + counter; 
       c++; 
      } 
     }); 
    }); 
    counter++; 
    x.appendChild(_default.cloneNode(true)); 
} 

如果我上班没事,只是我不能改变价值的onchange

+0

nothing user__? –

回答

0

我发现我的答案。我用:

function addRow(){ 
    var c=0; 
    var x=document.getElementById("insertar").tBodies[0]; 
    Array.prototype.slice.call(_default.childNodes, 0).forEach(function(value){ 
     Array.prototype.slice.call(value.childNodes, 0).forEach(function(value1){ 
      if((value1.nodeType === 1) && (c === 0)){ 
       value1.id="p" + counter; 
       value1.setAttribute("onchange","document.getElementById('stock"+counter+"').value = setStock(this.id)"); 
       c++; 
      }else if((value1.nodeType === 1) && (c === 1)){ 
       value1.id = "stock" + counter; 
       c++; 
      } 
     }); 
    }); 
    counter++; 
    x.appendChild(_default.cloneNode(true)); 
}