Javascript 从3个输入获取并同时更换
这是我的工作代码: const intro=您输入了以下文字:; const outro=谢谢; 设input1=; 设input2=; $'inp1,inp2'。在'input'上,函数更新对象{ 如果e.currentTarget.id=='inp1'{ input1=e.currentTarget.value; }否则{ input2=e.currentTarget.value; } $disp1.htmlintro++input1+'和'+input2+outro; };Javascript 从3个输入获取并同时更换,javascript,jquery,html,Javascript,Jquery,Html,这是我的工作代码: const intro=您输入了以下文字:; const outro=谢谢; 设input1=; 设input2=; $'inp1,inp2'。在'input'上,函数更新对象{ 如果e.currentTarget.id=='inp1'{ input1=e.currentTarget.value; }否则{ input2=e.currentTarget.value; } $disp1.htmlintro++input1+'和'+input2+outro; }; 如果我正确理
如果我正确理解了您的问题,那么您正在尝试对代码进行泛化,使其能够处理任意数量的textarea元素 要实现这一点,一种可能是在输入事件处理程序中创建一个数组,通过如下操作临时存储文档中每个textarea的有效值:
var array = [];
$('textarea').each(function() {
var value = $(this).val();
if(value) {
array.push(value);
}
});
拥有此数组后,可以使用该方法创建一个字符串,该字符串的值在每个数组项的值之间:
var displayHTML = intro + '<br>' + array.join(' and ') + outro;
下面是一段代码片段,它在一个有效的解决方案中展示了这些想法:
const intro=您输入了以下文字:;
const outro=谢谢;
//从所有textarea元素中选择
$'textarea'。在'input'上,函数更新对象{
//此数组将存储来自所有textarea的有效值
var数组=[];
$'textarea'。每个函数{
//若迭代的文本区域的值有效,则
//添加到数组中
var值=$this.val;
ifvalue{
array.pushvalue;
}
};
//使用Arrayjoin创建显示html字符串
//由和字符串连接的每个项的字符串结果
var displayHTML=intro++array.join'和'+outro;
$disp1.htmldisplayHTML;
};
我想这就行了 const intro=您输入了以下文字:; const outro=谢谢; 让输入=; $document.on'input','textarea',函数updatee{ $this.eachfunction{ 输入+=e.currentTarget.value+'和'; $this.attr已禁用,已禁用; }; $disp1.htmlintro++input+'和'+outro; };
问题是什么?正如你所看到的,我输入了两个输入,它将它们组合成一个字符串。现在我想将我的代码调整为3或4+输入。如果您对我的请求理解正确,我提供的示例包含我在另一个项目中使用的函数,是否可以将我的请求应用于我提供的相同函数?类似于$'inp1,inp2,inp3,inp4'。在'input'上,函数updatee{…谢谢,太好了!当你说应用我的请求时,你的意思是什么?你是否只有一组特定的元素id要处理?我有许多文本区域,每个区域都有自己的id,我想使用我在代码片段中提供的函数更新,例如对于4个输入,函数将以$'inp1,inp2,inp3,inp开始4.关于“输入”,函数更新…谢谢,我想我不太明白你想做什么,汉克斯,我最后成功地在里面放了很多其他的如果。祝你愉快这实际上不起作用。