使用javascript将var指定给输入标记的name属性

时间:2017-03-28 20:22:32

标签: javascript html input

在这里,我试图通过html表格存储医生给出的药物。 通过在动态表的单元格中将输入作为文本,我想通过使用javascript将一些计数器附加到输入单元格的名称标签但是无法这样做。我想创建一个新的输入标签,其attr名称为prsc + counter -值 所以,请你帮助我

<table id="myTable">
  <tr>
    <td><input type="text" name="prsc0"></td>
  </tr>
  <tr>
    <td><input type="text" name="prsc1"></td>
  </tr>
  <tr>
    <td><input type="text" name="prsc2"></td>
  </tr>

    

<button onclick="myCreateFunction()">Create row</button>
<button onclick="myDeleteFunction()">Delete row</button>

<script>
 var counter=3;
 function myCreateFunction() {
     var table = document.getElementById("myTable");
     var row = table.insertRow(0);
     var cell1 = row.insertCell(0);
     counter=counter+1;
     var presc="prsc"+""+counter;
     cell1.innerHTML = '<input type="text" name=presc>';

 }

function myDeleteFunction() {
    document.getElementById("myTable").deleteRow(0);
}
</script>

3 个答案:

答案 0 :(得分:0)

您的presc是一个变量:

cell1.innerHTML = '<input type="text" name="' + presc + '">';

或不创建它:

cell1.innerHTML = '<input type="text" name="presc' + counter + '">';

JSBin

答案 1 :(得分:0)

使用DOM API创建输入元素,而不是构建HTML字符串:

var input = document.createElement('input');
input.name = 'prsc' + counter;
cell1.appendChild(input);

答案 2 :(得分:0)

function counter (){
     for(i=0; i<document.querySelectorAll('input').length; i++){
        document.querySelectorAll('input')[i].name=`prsc${i}`;
     }
}