Javascript 将表单范围值输出转换为文本

Javascript 将表单范围值输出转换为文本,javascript,html,forms,Javascript,Html,Forms,我做了这个简单的表格。现在我正在寻找一种将输出转换为文本的方法 对于x.value等于1,显示“hello” 对于x.值等于21,显示“世界” 对于x.value=202,显示“Good day” 我该怎么做?我想我需要一些JS 质量 低-高 时间 放松压力 0 10 20 预算 低-高 0 100 200 函数myFunction(值1、值2、值3){ var total=parseInt(值1)+parseInt(值2)+parseInt(值3) var message=“

我做了这个简单的表格。现在我正在寻找一种将输出转换为文本的方法

  • 对于
    x.value等于1
    ,显示“hello”
  • 对于
    x.值等于21
    ,显示“世界”
  • 对于
    x.value=202
    ,显示“Good day”
我该怎么做?我想我需要一些JS


质量
低-高

时间
放松压力 0 10 20

预算
低-高 0 100 200

函数myFunction(值1、值2、值3){
var total=parseInt(值1)+parseInt(值2)+parseInt(值3)
var message=“”
开关(总计){
案例0:
message=“好”;
打破
案例1:
message=“你好”;
打破
案例2:
message=“世界”;
打破
案例20:
message=“Good Good”;
打破
案例21:
message=“你好”;
打破
案例22:
message=“世界”;
打破
案例100:
信息=“生活”;
打破
案例101:
message=“cool”;
打破
案例102:
message=“知道”;
打破
案例110:
message=“what”;
打破
案例111:
message=“为什么”;
打破
案例112:
message=“如何”;
打破
案例120:
message=“如何”;
打破
//有3^3(27)个案例。。。
}
//...
document.getElementById(“输出”).innerHTML=消息;
}

质量
低-高

时间
放松压力 0 10 20

预算
低-高 0 100 200


首先,这里确实不需要
数据列表
元素。您已经将
范围
元素配置为正确地从最小值步进到最大值。我认为在这一点上,添加它们只是混淆了事情。另外,根据您的要求,按
1
单步执行是最好的,因为我们需要将范围值映射到数组元素索引,并且我们不希望在只需要在该数组中存储3个值的情况下创建最多200个索引

其次,您没有正确地使用
标签。它不是要标记一个节,而是要标记一个表单元素以便于访问。此外,您使用
b
br
纯粹是出于风格上的原因,这也不正确。CSS处理这个问题

//获取对数组中所有滑块的引用:
var frm=document.querySelector(“表单”);
var out=document.getElementById(“输出”);
//将数字设置为单词矩阵:
变量转换={
希比:[“你好”,“再见”,“再见!”,
toWho:[“人”、“世界”、“宇宙”],
问候语:[“早上好”、“白天好”、“晚上好”]
}
var sliders=document.queryselectoral(“输入[type='range']”);
frm.addEventListener(“输入”,函数(evt){
var outputMessage=“”;
outputMessage=translate.hiBye[滑块[0].value];
outputMessage+=“”+translate.toWho[滑块[1]。值];
outputMessage+=“”+翻译。问候语[滑块[2]。值];
out.textContent=outputMessage;
});

品质
低-高
时间
放松压力
预算
低-高

是的,您需要使用JS,因为HTML不会计算数学表达式。鉴于您正试图获得一些特定的输出,请澄清
1>“你好”、“21>“世界”、“202>“你好”等确切含义。
。你的算法是什么?tnx斯科特!欢迎您的反馈。但老实说,这并不是我想要的。我想自己控制答案。所以对于总值1,“这是对值1的回答”等等,值222“哇,这是对这个值的回答”。希望你明白我的意思。三硝基甲苯advance@DonaldRoos,这正是我的代码片段所做的!嗨,Edkeveke,谢谢你!我试图得到这份工作。。。。但很抱歉,没有结果。代码片段似乎也不起作用。你能帮助我吗?提前谢谢。@DonaldRoos,它正在工作,只是我没有显示所有可能的27个用例。我更新了我的答案,添加了更多的用例,但不是所有的27:)好的,我明白了。但是这两个值的版本也不起作用,(对不起)(顺便说一句,我使用的是Firefox)。如果你能为我做一把小提琴,那将非常有帮助。太多了!为值(0、1、2、20、21、22…)运行代码段很酷!非常感谢。(我欠你一杯啤酒)