Javascript 两个选择字段相互依赖

Javascript 两个选择字段相互依赖,javascript,jquery,html,css,select,Javascript,Jquery,Html,Css,Select,我要做的是创建两个选择字段,在第一个字段中选择一些选项后,第二个字段中的一些选项应该被隐藏。 我就快到了,除了一个事实,我的脚本无法从第一个select字段中找到特定的选项,但是当我在第一个select字段中放置这样的选项时,它会起作用,但只在第一个字段中起作用,所以它是无用的。我需要它根据第一个选择的选项在第二个选择字段中隐藏选项 更困难的是,我不能在这里添加任何类、ID或任何东西 我认为我犯了一些错误,包括我告诉脚本应该编辑哪个元素,但我不知道如何用另一种方式编写它 HTML CSS 请提供

我要做的是创建两个选择字段,在第一个字段中选择一些选项后,第二个字段中的一些选项应该被隐藏。 我就快到了,除了一个事实,我的脚本无法从第一个select字段中找到特定的选项,但是当我在第一个select字段中放置这样的选项时,它会起作用,但只在第一个字段中起作用,所以它是无用的。我需要它根据第一个选择的选项在第二个选择字段中隐藏选项

更困难的是,我不能在这里添加任何类、ID或任何东西

我认为我犯了一些错误,包括我告诉脚本应该编辑哪个元素,但我不知道如何用另一种方式编写它

HTML

CSS


请提供帮助。

由于以下代码,它无法工作:

$('option[value="CD"]', this)...
简单地说,
检查当前单击的选择选项。由于您单击了第一个选择,
将成为第一个选择,它将尝试查找带有值CD的选项,但该选项不存在。那你是做什么的??简单地说,获取第二个select,find选项,其中包含值CD,并更改类:)

试试这个

//您可以将其更改为仅选择第一个选择,因为选择所有选择都没有意义。
$(“选择”).change(函数(){

//$(“选择[name='NameOne'])。更改(function(){由于以下代码,它无法工作:

$('option[value="CD"]', this)...
简单地说,
this
检查当前单击的select上的选项。由于您单击了第一个select,
this
将成为第一个select,它将尝试查找其上没有值CD的选项。因此,您要做的是??简单,获取第二个select,查找其中包含值CD的选项,然后更改类:)

试试这个

//您可以将其更改为仅选择第一个选择,因为选择所有选择都没有意义。
$(“选择”).change(函数(){

//$(“选择[name='NameOne'])。更改(function(){您应该查询特定的
选择
,然后在另一个选择中隐藏
选项
,而不使用
,该选项只会执行
选择
中更改的
选项

$(“选择[name='NameOne'])。更改(函数(){
if($(this.val()=“秒”){
$(“选择[name='NameTwo']选项[value='CD']”)。addClass('hidden');
}否则{
$(“选择[name='NameTwo']选项[value='CD']”)。removeClass('hidden');
}
});
。隐藏{
显示:无
}

Lorem Ipsum1
Lorem Ipsum2
Lorem Ipsum3
多洛尔2
多洛尔1
多洛尔2
多洛尔3

您应该查询特定的
选择
,然后在另一个选择中隐藏
选项
,而不使用
,该选项只会执行
选择
中更改的
选项

$(“选择[name='NameOne'])。更改(函数(){
if($(this.val()=“秒”){
$(“选择[name='NameTwo']选项[value='CD']”)。addClass('hidden');
}否则{
$(“选择[name='NameTwo']选项[value='CD']”)。removeClass('hidden');
}
});
。隐藏{
显示:无
}

Lorem Ipsum1
Lorem Ipsum2
Lorem Ipsum3
多洛尔2
多洛尔1
多洛尔2
多洛尔3

为什么不能添加类或ID?代码中有两种错误的方法。1.$('option[value=“CD]”,this)==>是错误的方法。因为通过使用它,您无法将选项与选择框分开。它将从两个选择框返回选项。实际上,只有两个页面内容选项
2.$(“选择”)也是错误的=>因为它既选择了选择框又选择了第一个框。但是根据您的需求,这足够考虑选择框。为什么不能添加类或ID?在代码中有2个错误的方法。1。$(‘选项[值=“CD”),这个)==>是错误的方法。因为使用该方法无法将选项与选择框分开。它将从两个选择框返回选项。实际上,只有两个页面内容选项
2.$(“选择”)也是错误的=>因为它既选择了选择框,又选择了第一个框。但是根据您的需求,这是足够的选择框1。
.hidden {
  display: none
}
$('option[value="CD"]', this)...