在组合框中选择一个项目会在所有其他项目中禁用同一项目

本文关键字:项目 其他 组合 选择 一个 | 更新日期: 2023-09-27 17:57:04

>假设我有多个组合框,每个组合框都有相同的项目列表。

如果在其中一个组合框中选择了某个项目,则需要在所有其他组合框中禁用给定项目。

如果用户更改了任何组合框的选择,则以前选择的项目应该可以在所有组合框中自由选择。

这是为了防止用户在所有组合框中选择重复的项目。

我知道这听起来像是一组复选框可以做到这一点,但在这种情况下我不能这样做。 每个组合框都与其他内容相关联,它们都指向一个公共项目池。 我需要知道什么与什么有关。

关于如何实现这一目标的任何想法?

<ComboBox x:Name="cb1">
    <ComboBoxItem>asdf</ComboBoxItem>
    <ComboBoxItem>qwerty</ComboBoxItem>
    <ComboBoxItem>1234</ComboBoxItem>
    <ComboBoxItem>zxcv</ComboBoxItem>
</ComboBox>
<ComboBox x:Name="cb2">
    <ComboBoxItem>asdf</ComboBoxItem>
    <ComboBoxItem>qwerty</ComboBoxItem>
    <ComboBoxItem>1234</ComboBoxItem>
    <ComboBoxItem>zxcv</ComboBoxItem>
</ComboBox>
<ComboBox x:Name="cb3">
    <ComboBoxItem>asdf</ComboBoxItem>
    <ComboBoxItem>qwerty</ComboBoxItem>
    <ComboBoxItem>1234</ComboBoxItem>
    <ComboBoxItem>zxcv</ComboBoxItem>
</ComboBox>

在组合框中选择一个项目会在所有其他项目中禁用同一项目

如果列表 itens 相同,则当用户选择组合框时,您可以遍历每个组合框的 itens,并禁用具有相同值的项。

这是一个

Web项目,你可以使用jQuery来验证组合框。 您应该为每个组合提供一个 ID 并验证"onChange"方法,然后如果更改了一个组合,则其他组合将根据其值被锁定或更改。