Javascript 当选择A更改时,更改选择B的div

Javascript 当选择A更改时,更改选择B的div,javascript,jquery,Javascript,Jquery,我有一系列的选择,当第一个选择标记选择了一个选项时,我想更改第二个选择标记上的类。我正在使用语义用户界面 HTML: 这是我的小提琴: 从“等级”选择标记中选择选项时,“主题”选择标记处于禁用状态。我如何修改我的JS以切换“主题”选择上的类,使其成为“ui下拉列表”?您的小提琴没有包含对JQuery的引用 但是,你也必须考虑如果第一个选择有一个选择而不是等级选择,它将激活第二个下拉,但是第一个下拉被放回等级。这将重新禁用第二个列表 $document.readyfunction{ $'gra

我有一系列的选择,当第一个选择标记选择了一个选项时,我想更改第二个选择标记上的类。我正在使用语义用户界面

HTML:

这是我的小提琴:


从“等级”选择标记中选择选项时,“主题”选择标记处于禁用状态。我如何修改我的JS以切换“主题”选择上的类,使其成为“ui下拉列表”?

您的小提琴没有包含对JQuery的引用

<>但是,你也必须考虑如果第一个选择有一个选择而不是等级选择,它将激活第二个下拉,但是第一个下拉被放回等级。这将重新禁用第二个列表

$document.readyfunction{ $'grade'.changefunction{ //取决于第一次选择是否具有有效值 //启用或不启用第二个列表。重要的是 //因为有人可以激活 //第二个列表,然后将第一个列表更改回年级 //此外,您不需要重新添加下拉类 //因为元素总是下拉的。你只需要 //担心残疾阶级 这个价值{ $'subject'.removeClass'disabled'; }否则{ $'subject'.addClass'disabled'; } }; }; 等级 学前班 一级 二级 三年级 四年级 五年级 六年级 七年级 八年级 九年级 十年级 11年级 十二年级 主题 以英语为第二语言 洛杉矶 健康 信息通信技术 数学 体育课 小学年级 科学 社会科学课程
您的小提琴没有包含对JQuery的引用

<>但是,你也必须考虑如果第一个选择有一个选择而不是等级选择,它将激活第二个下拉,但是第一个下拉被放回等级。这将重新禁用第二个列表

$document.readyfunction{ $'grade'.changefunction{ //取决于第一次选择是否具有有效值 //启用或不启用第二个列表。重要的是 //因为有人可以激活 //第二个列表,然后将第一个列表更改回年级 //此外,您不需要重新添加下拉类 //因为元素总是下拉的。你只需要 //担心残疾阶级 这个价值{ $'subject'.removeClass'disabled'; }否则{ $'subject'.addClass'disabled'; } }; }; 等级 学前班 一级 二级 三年级 四年级 五年级 六年级 七年级 八年级 九年级 十年级 11年级 十二年级 主题 以英语为第二语言 洛杉矶 健康 信息通信技术 数学 体育课 小学年级 科学 社会科学课程 使用该函数

$('#grade').on("change", function(){
    $('#subject').toggleClass('disabled', $(this).val() === '');
 });
另外,您的JSFIDLE没有启用jQuery,这可能就是为什么?

使用该函数

$('#grade').on("change", function(){
    $('#subject').toggleClass('disabled', $(this).val() === '');
 });

另外,您的JSFIDLE没有启用jQuery,可能这就是原因吧?

我刚刚更新了您的FIDLE,使其包含jQuery,这很有效

$(document).ready(function(){
alert("ready called");
  $('#grade').change(function(){
    alert("click called");
    $('#subject').removeClass('disabled');
  });
});

我刚刚更新了你的提琴,加入了jquery,这很有效

$(document).ready(function(){
alert("ready called");
  $('#grade').change(function(){
    alert("click called");
    $('#subject').removeClass('disabled');
  });
});

您的JS可以像编写的那样工作,但是您必须在fiddle中启用jQuery。 单击JS面板中的gear图标,选择jQuery的一种风格,使其工作

也就是说,为什么要删除所有类,只是为了添加两个类。您可以简单地执行以下操作:

$('#subject').removeClass('disabled');

这只会删除指定的类,并保留其他类

您的JS按照编写的方式工作,但是您必须在fiddle中启用jQuery。 单击JS面板中的gear图标,选择jQuery的一种风格,使其工作

也就是说,为什么要删除所有类,只是为了添加两个类。您可以简单地执行以下操作:

$('#subject').removeClass('disabled');

这只会删除指定的类,而留下其他类

如果忘记在JSFIDLE中添加jQuery,那么使用它会更好。移除部分可以简化为$'subject'。移除类'disabled';。您忘了在JSFIDLE中添加jQuery,使用它会更好。移除部分可以简化为$'subject'。移除类'disabled';。现在你的第二个选择有两个id标签。@mx0更新了答案。天哪,我不敢相信我忽略了这一点。等等,是的,我可以。。。谢谢你的解决方案!现在你的第二个选择有两个id标签。@mx0更新了答案。天哪,我不敢相信我忽略了这一点。等等,是的,我可以。。。谢谢你的解决方案!感谢您添加了一些有用的东西,我可以将其附加到Scott Marcusa提供的答案中,这样您就可以将onchange listener直接添加到第一个select元素中。。但这是一种风格偏好。感谢您添加了一些有用的东西,我可以将其附加到Scott Marcusa提供的答案中,这样您就可以将onchange listener直接添加到第一个select元素中。。但这是一种风格偏好。