jQuery - 禁用选项时更改选择值

发布于 2024-10-15 02:25:37 字数 480 浏览 0 评论 0原文

我有两个选择框,第一个选择框有两个选项:

  • 第一组颜色
  • 第二组颜色

第二个有几个选项:

  • 红色
  • 绿色
  • 蓝色
  • 粉色

现在,当有人选择“第一组颜色”时,蓝色和蓝色第二个选择框中的粉色被禁用。 与其他选项相同。

问题是,如果您选择“第一组颜色”,然后选择“第二组颜色”,则第二个选择框仍将选择蓝色或粉色,即使该选项已禁用。

那么如何根据第一个选择框自动将其值更改为非禁用选项?

PS:对于禁用/启用效果,我使用此函数: jQuery - 禁用基于另一个字段选定值的输入字段

I have two select boxes, the first select box has two options:

  • First set of colors
  • 2nd set of colors

The second one has a few options:

  • Red
  • Green
  • Blue
  • Pink

Now when someone selects "First set of colors", Blue & Pink from the second select box get disabled.
Same with the other option.

The problem is that if you choose "First set of colors" and then "2nd set of colors", the second select box will still have Blue or Pink selected, even if the option is disabled.

So how can I automatically change its value to a non-disabled option based on the first select box ?

PS: for the disable/enable effect I use this function: jQuery - disable input field based on another field selected value

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

心不设防 2024-10-22 02:25:37

当第一个选择更改时,您可以从第二个选择中的所有选项中删除选定的属性,这应该在第一个下拉列表更改后在第二个下拉列表中保留任何选定内容。

例如,假设第一个下拉列表的 ID 为 sets,第二个下拉列表的 ID 为 colors

$("#sets").change(function () {
    $("#colors option:selected").removeAttr("selected");
});

示例(没有正确的启用/禁用设置)

You could remove the selected attribute from all of the options in your second select when the first select changes, which should leave nothing selected in your second dropdown after the first dropdown has changed.

For example, assuming an id of sets for the first dropdown and colors for the second dropdown:

$("#sets").change(function () {
    $("#colors option:selected").removeAttr("selected");
});

Example (without proper enable/disable setup)

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文