【发布时间】:2022-01-14 06:53:03
【问题描述】:
早上好!
我有一个带有 1 个下拉菜单的页面,其中有 24 个选项可供选择。
还有 12 个复选框可供选择。
每个下拉选项和每个复选框都有一个预定义的变量。
IE。:
下拉value="utcValue0 -> var utc0 和
复选框值id="gameCheck" -> var gameTag
这里想要的输出是一个新变量var a = utc0 + gameTag;
我当前的解决方案有效,但是阅读起来非常乏味和糟糕,必须有更简单的方法来处理这个问题。我现在只是一个一个地定义每个场景。 考虑到它有 24 个下拉菜单和 12 个复选框,这不可能。 我认为它可以通过智能嵌套循环来完成,但我无法想出如何实际编写它。
非常感谢您的帮助!非常感谢!
<select name="hourSelector" id="hourSelectorID">
<option value="utcValue0">0 - 1 UTC</option>
<option value="utcValue1">1 - 2 UTC</option>
<option value="utcValue2">2 - 3 UTC</option>
<option value="utcValue3">3 - 4 UTC</option>
<option value="utcValue4">4 - 5 UTC</option>
<option value="utcValue5">5 - 6 UTC</option>
</select>
<input type="checkbox" class="custom-control-input" id="gameCheck">
<input type="checkbox" class="custom-control-input" id="purchCheck">
<input type="checkbox" class="custom-control-input" id="inputCheck">
var utc0 = 'something';
var utc1 = 'something';
var utc2 = 'something';
var utc3 = 'something';
var utc4 = 'something';
var utc5 = 'something';
//var utcX = 'created>"' + todayUTC + 'T00:00:00Z"' + ' ' + 'created<"' + todayUTC + 'T01:00:00Z"';
var gameTag = 'whatever';
var purchTag = 'otherwhatever';
var eventTag = 'morewhatver';
// grab input Hour
var hourDropdown = document.getElementById("hourSelectorID");
var selectedHour = hourDropdown.options[hourDropdown.selectedIndex].value;
if (document.getElementById('gameCheck').checked) {
if (selectedHour == 'utcValue0' ) {
var a = utc0 + eventTag
}
if (selectedHour == 'utcValue1') {
var a = utc1 + eventTag
}
if (selectedHour == 'utcValue2') {
var a = utc2 + eventTag
}
if (selectedHour == 'utcValue3') {
var a = utc3 + eventTag
}
if (selectedHour == 'utcValue4') {
var a = utc4 + eventTag
}
if (selectedHour == 'utcValue5') {
var a = utc5 + eventTag
}
}
【问题讨论】:
-
我不清楚您的要求,但您是否考虑过将选项存储在数组中,并使用
foreach或filter方法。 -
todayUTC的值是多少,一次只能切换一个单选按钮? -
@Esszed 实际上 todayUTC 的值并不真正相关。为了使它更简单,我编辑了我的帖子并将 var = utc0 / utc1 等的整个值替换为通用的“某物”。是的,可以选中多个复选框。最多 12 个。
-
@ShogonBCN 这似乎是相关的,因为您正在使用每个 UTC 迭代字符串中的时间,这可以动态完成以避免重复。 Aka 避免创建
utcX的 24 个变量因此,如果选中所有三个复选框,则结果应该是utc4 + gameTag + purchTag + eventTag? -
@ShogoBCN 我编辑了我的答案以包含
todayUTC变量。它是否提供了所需的输出?
标签: javascript html loops checkbox dropdown