gpt4 book ai didi

javascript - jQuery 动态表输入

转载 作者:行者123 更新时间:2023-11-28 12:43:10 27 4
gpt4 key购买 nike

我正在使用 JS 进行一个学校元素,我创建了一个表单,在其中输入问题中的力的数量,并且(通过 jquery)编辑了 HTML,以便添加一些新的输入行在我输入部队数量的那一行之后。

我的问题:既然这些新输入可用,我正尝试将它们设置为一个数组,以便以后可以使用这些值。我已经设置了一个 for 循环,它的工作方式与我的力数循环相同,我试图通过单击新行中的按钮来记录每个力。问题是它没有记录。

有人知道如何在数组中获取这些值吗?将不胜感激。

此外,如果你们中有人知道动态表单或表格的框架,这将使这更容易。

function forceRecording(numofforces) {
for(var i =0; i<numofforces; i++) {
$('#button1').parent().parent().after("<tr><td>Force DFO " + i +":</td><td><form><input type='text' name='lengthMeasure'/></form></td><td><div class='button' id='lengthButton"+i+"'>Add!</div></td></tr>")
$('#button2').parent().parent().after("<tr><td>Force " + i +":</td><td><form><input type='text' name='forceMeasure'/></form></td><td><div class='button' id='forceButton"+i+"'>Add!</div></td></tr>")
}

for(var i = 0; i < numofforces;i++) {
$("#forceButton"+i).click(function(){
force[i]= $('select[name=forceMeasure]').val();
});
$('#forceButton'+i).after("<p>"+force[i]+"</p>"); //only temporary to check if the force is actually in the variable
}
};

最佳答案

您可以使用更通用的选择器来选择您在一个事件中需要的所有输入。

function forceRecording(numofforces){
for(var i =0; i<numofforces; i++){
$('#somediv').after("<tr><td>Force DFO " + i +":</td><td><input type='text' id='lengthMeasure"+i+"'/></td><td><div class='button' id='lengthButton_"+i+"'>Add!</div></td></tr>")
$('#someotherdiv').after("<tr><td>Force " + i +":</td><td><input type='text' id='forceMeasure_"+i+"'/></td><td><div class='button' id='forceButton_"+i+"'>Add!</div></td></tr>")
}
};
$("div.button[id^='forceButton']").live("click",function(){
var num = parseInt($(this).attr("name").split("_")[1]);
force[num]=$('text[id=forceMeasure_'+num+']').val();
console.log(force);
});

如果您要生成新元素以附加事件,Live 是一个更好的函数。您只需要使用 live 绑定(bind)一次事件,而不是每次创建元素时都绑定(bind)事件。每页也只需要一个表单元素。理想情况下,名称和 ID 应该始终是唯一的。

关于javascript - jQuery 动态表输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17559836/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com