javascript
2017-03-22 35 views 1 likes 
1

我想添加文字动态创建textbox如何在javascript中使用for循环创建多个文本框?

var dynamicTextBox= ""; 
    for (var i = 0; i < vm.FitToWork.length; i++) { 
     dynamicTextBox+= '<input class="form-control" name = "DynamicTextBox" id= "DynamicTextBox" type="text" value = "'vm.FitToWork[i]'" />&nbsp;' + 
     '<button id="btnAdd" class="delete-decl">+</button>'; 

    } 
    document.getElementById("TextBoxContainer").innerHTML=dynamicTextBox; 

它不工作..

回答

2

您有语法错误。您正试图连接变量vm.FitToWork[i]但未使用连接运算符(+)。试试下面的代码:

var dynamicTextBox= ""; 
 

 
// ignore this. just have this to get the code working 
 
var vm = {FitToWork : ["test","rest","vest"]}; 
 

 
for (var i = 0; i < vm.FitToWork.length; i++) { 
 
     dynamicTextBox += '<input class="form-control" name = "DynamicTextBox" id= "DynamicTextBox" type="text" value = "' + vm.FitToWork[i] + '" />'; 
 
     
 
     dynamicTextBox += '<button id="btnAdd" class="delete-decl">+</button></br>'; 
 
} 
 

 
document.getElementById("TextBoxContainer").innerHTML = dynamicTextBox;
<div id="TextBoxContainer"></div>

2

你错过了CONCAT。

var dynamicTextBox= ""; 
for (var i = 0; i < vm.FitToWork.length; i++) { 
    dynamicTextBox+= '<input class="form-control" name = "DynamicTextBox" id= "DynamicTextBox" type="text" value = "'+vm.FitToWork[i]+'" />&nbsp;' + '<button id="btnAdd" class="delete-decl">+</button>'; 
} 
document.getElementById("TextBoxContainer").innerHTML=dynamicTextBox; 
0

你忘了加光脉冲在值:

... value="' + vm.FitToWork[i] + '" ... 
0

值应在+ + value = "' + value + '" 所以value = "'+vm.FitToWork[i]+'"

,或者你可以试试这个

'<input name = "DynamicTextBox" type="text" value = "' + value + '" />' + 
'<input type="button" value="+" id="btnAdd" class="delete-decl" />' 
相关问题