Как отключить выбранные параметры из одного поля выбора в другие поля выбора? - PullRequest
0 голосов
/ 23 января 2020

Я создаю страницу задач, где пользователь назначает сотрудникам различные задачи.

Правила таковы:
(1) Есть более одного сотрудника назначенный одной задаче
(2) один сотрудник не может иметь две задачи

Для задач имеется только два местоположения: (1) Главный этаж и (2) Крыша


Вот что я сделал:

Каждый раз, когда я выбираю имена сотрудников (потому что это множественный тип поля выбора) из одного поля выбора, эти имена будут отключены в других полях выбора (чтобы пользователь не мог назначить 2 задачи одному и тому же сотруднику) .


Проблемы, с которыми я столкнулся:

(1) Мои поля выбора имеют несколько типов, поэтому, когда я выбираю много имен в одном поле it не будет отключать эти имена в других полях выбора. Будет отключено только одно имя. (ПРИМЕЧАНИЕ: текст будет КРАСНЫМ, если он отключен)

отключено только одно значение

(2) Даже если выбранные значения После успешного отображения в таблице выбранные значения из других полей выбора также будут отображаться . Например, здесь сотрудники, выбранные в задаче «Швабра», также будут отображаться в задаче «Метла». Как я могу предотвратить это? Поскольку эти имена уже должны быть отключены, чтобы их нельзя было выбрать снова.

ненужные множественные значения

ПРИМЕЧАНИЕ. Кнопки Добавить имя и Удалить имя единственные кнопки, которые еще работают Кроме того, в будущем будет добавлено несколько полей выбора.

CSS:

  <style>
    form{
        margin: 20px 0;
    }

    .add-task
    {
        padding: 5px;
    }

    form input, button{
        padding: 5px;
    }
    table{
        width: 80%;
        margin-bottom: 20px;
        border-collapse: collapse;
    }
    table, th, td{
        border: 1px solid #cdcdcd;
    }
    table th, table td{
        padding: 10px;
        text-align: left;
    }

    /*ADD NEW TASK MODAL*/
    .modalAddNewTask
{       
        color: #636363;
        margin-top:3%;
        /*width: 2000px;*/
}

.modalAddNewTask .modal-content
    {
        padding: 30px;
        border-radius: 5px;
        border: none;
        /*color:black;*/
    }

    .modalAddNewTask .modal-content label {
        color:black;
        font-weight: bold;
    }

    .modalAddNewTask .modal-header {
        border-bottom: none;   
        position: relative;
        justify-content: center;
    }

    .modalAddNewTask .modal-header .modal-title{
        /*color:#333333;*/
        color:black;
        /*font-weight: bold;*/
    }

    .modalAddNewTask h4  {
        text-align: center;
        font-size: 26px;
        margin: 30px 0 -15px;
    }

    .modalAddNewTask .form-control{
        color: black;
    }

    .modalAddNewTask .form-control:focus {
        border-color: black;
        box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
    }

    .modalAddNewTask .form-control, .modalAddNewTask .btn {
        min-height: 40px;
        border-radius: 3px; 
    }

    .modalAddNewTask .close 
    {
         position: absolute;
        top: 6px;
        right: 7px;
        font-size:40px;
    }

    .modalAddNewTask .modal-footer {
        background: #ecf0f1;
        border-color: #dee4e7;
        text-align: center;
        justify-content: center;
        /*margin: 0 -20px -20px;*/
        border-radius: 5px;
        font-size: 13px;
    }

    .modalAddNewTask .avatar {
        position: absolute;
        margin: 0 auto;
        left: 0;
        right: 0;
        top: -70px;
        width: 95px;
        height: 95px;
        border-radius: 50%;
        z-index: 9;
        /*background: #333333;*/
        background:black;
        /*background: #cc0000;*/
        padding: 15px;
        box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
    }
    .modalAddNewTask .avatar img {
        width: 100%;
    }

    .modalAddNewTask .addTaskButton
        {
            color:black;
                        /*float:right;*/
                        display:inline-block;
                        vertical-align:middle;
                        border:1px solid black;
                        margin-right:0;
        }

        .modalAddNewTask .addTaskButton:hover
        {
            color:white;
            background-color:red;
            border:1px solid red;

        }

        .add-btn-dark
            {
                color:black;
                /*float:right;*/
                display:inline-block;
                vertical-align:middle;
                border:1px solid black;
                margin-right:0;

            }

            .add-btn-dark i, .add-btn-dark span
            {
                display:inline-block;
                vertical-align:middle;
            }

            .add-btn-dark:hover
            {
                cursor:pointer !important;
                color:white;
                background-color:black;
            }

            .add-btn-dark:focus
            {
                box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
            }

            .selectTesting option:disabled {
    /*color: red;
    background-color:#d4d9dd;
    text-decoration: line-through;*/
    /*color:#cc0000;*/
    opacity:0.8;
    color:red;
    background-color:#f2f2f2;

}

.selectTesting option:enabled {
    color: black;
    font-weight: 500;
}

.selectTesting{
    color: black;
    font-weight: 500;
    font-size:15px;
    display: inline-block;
    vertical-align: middle;
}

.selectTesting option:first-child:hidden {
    color: red;
    font-weight: 500;
    font-size:15px;
}

</style>

JSFIDDLE: https://jsfiddle.net/akpoLwt9/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...