【发布时间】:2019-11-07 16:14:57
【问题描述】:
是否可以根据用户的回答隐藏选择字段中的选项?使用 Javascript/jQuery。
我有一个相当复杂且冗长的格式,我想尽量避免加载 HTML 元素,因为条件逻辑会变得非常混乱。
所以用户会遵循类似于以下的内容: 1. 第一步:选择颜色(红、蓝、绿、橙)。 2. 第二步:选择一个数字(1、2、3、4、5、6)。根据在第一个字段中选择的颜色显示不同的数字。 3. 第三步:按钮显示带站外链接,链接将依赖于第一步,然后是第二步。
选择示例可以是: 1. 精选红(红、蓝、绿、橙), 2. 选择了1(只显示1、2、3),因为选择了红色。 3. 链接到 Red 1 产品。
这很难解释,所以我真的希望这是有道理的。
以上只是表格的一小部分作为示例。
以下是我的一些示例 HTML:
<select name="color" class="colour">
<option value="red">Red</option>
<option value="blue">Blue</option>
<option value="green">Green</option>
<option value="orange">Orange</option>
</select>
<select name="numbers" class="numbers">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
</select>
我知道我可以使用与此类似的代码,但最终我将不得不创建大量不同的选择元素,因为根据每个字段中的选择,有许多不同的选项。
$('.colour').on('change',function(){
if ( $(this).val()=== "red") {
$(".numbers").show();
}
else {
$(".numbers").hide();
}
【问题讨论】:
-
您要删除这些选项吗?还是只是隐藏它们?
-
隐藏它们,所以它应该有点像这样:选择列表>选择列表>选择列表>链接。该链接取决于在每个选择列表中选择的每个选项,并且每个选择列表将包含不同的选项,具体取决于它之前的选择 - 但我想将它们全部放在一个元素中以避免创建不同元素的负载。
标签: javascript jquery html forms