Отключить элементы раскрывающегося списка на основе отображаемых значений таблицы данных - PullRequest
0 голосов
/ 15 мая 2019

У меня есть страница, на которой есть 2 пункта -

item - 1. Jquery DataTable, отображающий 2 столбца SystemName, System-Description.

вещь - 2. Маленькая форма с одним выпадающим списком и текстовым полем. Раскрывающийся список содержит системные имена, и пользователь вводит некоторое описание в текстовое поле и вставляет значение в базу данных. После вставки значение появляется в Jatery Datatable.

В качестве примера в таблице данных Jquery в настоящее время представлены 3 значения. Система1, Система2 и Система3.

В выпадающем списке есть 7 пунктов ... System1, System2 ....., System7.

Чего я хочу достичь

Я хочу отключить элементы в списке DropDown, как показано в таблице данных. Итак, учитывая предыдущий пример -

Элементы "System1, System2 & System3" должны быть отключены в DropDownList.

Что я пробовал :

Я тоже пробовал с расширением HTMLHelper. Но это не сработало.

Так заполняются Datatable и DDL ::

DropDownList :

Код контроллера:

var flist = dbCtx.UserSystems.Where(l => l.InUse.Equals(false));
SelectList list = new SelectList(flist.ToList(), "SystemID", "SystemName");
ViewBag.sysnames = list;

Код бритвы:

@Html.DropDownListFor(model => Model.SystemID, ViewBag.sysnames as SelectList, "Select SystemID", new { @class = "form-control" })

DataTable

Код контроллера:

SysViewModel.SysDetails = dbCtx.Get_UserSystem(Userid).ToList<Get_Get_UserSystem_Result>();

Код бритвы:

<table class="table table-striped table-bordered" id="">
    <thead class="navbar-dark navbar-dark bg-blue-grey white">
        <tr>
            <th>
                System Name
            </th>
            <th>
                Description
            </th>
        </tr>
    </thead>
    <tbody>
        @foreach (var item in Model.SysDetails)
        {
            <tr>
                <td>
                    @Html.DisplayFor(modelItem => item.SystemName)
                </td>
                <td>
                    @Html.DisplayFor(modelItem => item.Desc)
                </td>
            </tr>
            }
    </tbody>
</table>

1 Ответ

0 голосов
/ 17 мая 2019

Вы можете отключить раскрывающийся список следующим образом

<select>
    @{
        foreach (var item in List)
        {
            if(condition)//check exist or not
            {
            <option style="color:gray" disabled>
                @item.Name
            </option>
            }
            else
            {
            <option>
                @item.Name
            </option>
            }    
        }
    }
</select>
...