javascript - 从JS中的数组中选择匹配的值
问题描述
我正在研究 JS 中的下拉框。
这个 JS 工作得很好,但我发现一些 calc 不起作用。所以我添加了代码并尝试修复。
程序运行是... 用户选择 3 个下拉框,然后显示结果。用户将首先选择“30”或“40”或“50”。之后选择“类型”最后用户可以选择“产品”。产品列表已经由“第一和第二选择值”决定。
该程序仅在用户选择值“30”时才能完美运行
我想添加 calc CASE '40' 和 '50' 。
例如
如果用户选择
tubosuValue == 30 && u_typeValue == 'M' && productData == 920
结果将 920
如果用户选择
tubosuValue == 50 && u_typeValue == 'S' && productData == 1593
结果将是 1593
我把整个代码放在这里
我在下面写了代码,但它看起来很丑。我想不出好办法。
你能教我正确的代码吗?
JS部分
let result = document.getElementById("result");
if (tubosuValue && u_typeValue && productValue) {
//if all value selected
if(tubosuValue == 30 && u_typeValue == 'M' && productValue == 920) {
hoge = 920;
}
if(tubosuValue == 30 && u_typeValue == 'M' && productValue == 1117) {
hoge = 1117;
}
if(tubosuValue == 30 && u_typeValue == 'M' && productValue == 1180) {
hoge = 1180;
}
if(tubosuValue == 40 && u_typeValue == 'M' && productValue == 1182) {
hoge = 1182;
if(tubosuValue == 50 && u_typeValue == 'S' && productValue == 1593) {
hoge = 1485;
}
result.value = ValueUtils.comma(hoge);
更新我尝试写简单的问题
我重写很容易这是我的目标
第一个用户选择 30 或 40 或 50 值(绿色区域)
第二个用户选择 M , S ,K , AL (蓝色区域)
最后用户选择红色区域。
如果用户选择 40 和 K ,用户只能选择 p1 和 p2 值。
如果用户选择 40 和 k 和 p1 结果将是 21
如果用户选择 40 并且 K 和 p2 结果将为 22
[![在此处输入图像描述][1]][1]
解决方案
这仍然不是“最好的”解决方案,因为我真的不知道你想要达到什么目标以及如何做得更好,但它的方式比 100 个 if 语句更好。
const tubosuValueArray = [30,40,50];
const productValueArray = [920, 1117, 1180, 1182];
const typeValue = 'M';
if (tubosuValueArray.includes(tubosuValue) &&
typeValue === u_typeValue) && productValueArray.includes(productValue)) {
hoge = productValue
} else if (tubosuValue == 50 && u_typeValue == 'S' && productValue == 1593) {
hoge = 1485
}
推荐阅读
- java - Play Framework - 如何使用多个 MySQL 查询构建网页
- c# - Unity 以 100% 打印出 CPU 使用率
- reactjs - 在 React 中返回 JSZip 压缩文件
- java - 与元素类型“null”关联的属性“standardData”的值不能包含“<”字符
- python - Python - 尝试从 Pandas 中的 DataFrame 中随机选择一个元素
- c# - 为什么当我插入文本框 C# 时不显示 MDI 子窗体
- javascript - 如何在使用 Java Script 将 JSON 导出到 Excel 时将整列设为数字
- r - 如何根据条件更改数据框中列的多个行值?
- python - 连续增加一个值,如果日期更改,则将变量设置为零
- dokku - 如果 dokku 进入,我如何进入我的容器
什么也没做?