我目前正在处理 JavaScript 中的一些输入表单,并且我已经通过脚本进行了编辑,因此一旦用户输入问题的力数,每个数字都会显示新的输入文本字段,还有一个添加的按钮最后。问题是当我尝试单击此按钮时,我尝试使用 .map 函数将所有文本字段值启动到其中,但没有任何反应。
function forceRecording(numofforces,$this){
var addRows='<tr id=newRows>';
for(var i =1; i<=numofforces;i++)
{
var nearTr=$this.closest('tr');
addRows=addRows + "<td>Force " +i+": </td><td><form><input type='text' name='forceItem' id='newR'/></form></td>";
}
addRows=addRows+"<td><div class='button' id='forceButton'> Add! </div></td></tr>";
nearTr.after(addRows);
};
$('#forceButton').click(function(){
forces=$("input[id='newR']").map(function(){
return $(this).val()
});
function forceRecording(numofforces,$this){
var addRows='<tr id=newRows>';
for(var i =1; i<=numofforces;i++)
{
var nearTr=$this.closest('tr');
addRows=addRows + "<td>Force " +i+": </td><td><form><input type='text' name='forceItem' id='newR'/></form></td>";
}
addRows=addRows+"<td><div class='button' id='forceButton'> Add! </div></td></tr>";
nearTr.after(addRows);
};
$('#forceButton').click(function(){
forces=$("input[id='newR']").map(function(){
return $(this).val()
});
prompt("forces");
});
正如您所看到的,我的 forceRecording 函数正在工作,并为每个 numofforces 创建一个带有新文本输入字段的新行,但是一旦我尝试单击 forceButton 将值输入到我的 force 数组中,什么也没有发生。知道是什么原因造成的吗?