Превратить CheckBoxes в CheckButtons - PullRequest
0 голосов
/ 19 декабря 2018

Я пытаюсь включить эти флажки:

enter image description here

В эти флажки (я буду обозначать их как Кнопки проверки ):

enter image description here

Непосредственно ниже приведен код текущих флажков:

        @foreach (var department in Model.Select(u => new { u.DepartmentId, u.DepartmentName }).Distinct().ToDictionary(u => u.DepartmentId, u => u.DepartmentName).OrderBy(u => u.Value))
    {
        i++;
        <text> &nbsp; &nbsp;</text>
@department.Value <input name="department_chkbox" type="checkbox" value="@department.Key" />
        if (i > 5)
        {
            <text><br></text>
            i = 0;
        }
    }

Ниже приведен HTML-код нужных HTML-кодов.но это не говорит мне много:

<td id="checkboxcontainer">
     <input type="checkbox" name="statusId" value="1" id="ckActive" checked="checked" /><label for="ckActive">Active</label>
     <input type="checkbox" name="statusId" value="2" id="ckLeave" /><label for="ckLeave">Leave</label>
     <input type="checkbox" name="statusId" value="3" id="ckSusp" /><label for="ckSusp">Suspended</label>
     <input type="checkbox" name="statusId" value="4" id="ckTerm" /><label for="ckTerm">Terminated</label>
</td>

Кто-нибудь знает, что вызывается, чтобы сделать флажки превращаться в "кнопки" Я написал код флажок , но я неиметь доступ к кнопке проверки код.Я предполагаю, что это то, что сделано в eitehr Javascript или Jquery.Также нет класса для

1 Ответ

0 голосов
/ 20 декабря 2018

Если исходить из желаемого HTML, это относительно простое решение с использованием только CSS.Конечно, вы захотите настроить его так, чтобы он выглядел именно так, как вы хотите.

#checkboxcontainer {
  display: flex;
}

input[type=checkbox] {
  display: none;
}

input[type=checkbox] + label {
  display: block;
  min-width: 100px;
  border: solid #999;
  border-width: 1px 1px 1px 0;
  background: #eee;
  margin: 0;
  padding: 2px 0;
  text-align: center;
}

input[type=checkbox]:checked + label {
  background: #ccc;
}

input[type=checkbox] + label:first-of-type {
  border-radius: 3px 0 0 3px;
  border-left-width: 1px;
}
input[type=checkbox] + label:last-of-type {
  border-radius: 0 3px 3px 0;
}
<div id="checkboxcontainer">
  <input type="checkbox" name="statusId" value="1" id="ckActive" checked="checked" /><label for="ckActive">Active</label>
  <input type="checkbox" name="statusId" value="2" id="ckLeave" /><label for="ckLeave">Leave</label>
  <input type="checkbox" name="statusId" value="3" id="ckSusp" /><label for="ckSusp">Suspended</label>
  <input type="checkbox" name="statusId" value="4" id="ckTerm" /><label for="ckTerm">Terminated</label>
</div>

И чтобы сгенерировать этот HTML-код с помощью Razor, у вас будет что-то вроде этого:

<div id="checkboxcontainer">
  @foreach (var department in Model.Select(u => new { u.DepartmentId, u.DepartmentName }).Distinct().ToDictionary(u => u.DepartmentId, u => u.DepartmentName).OrderBy(u => u.Value))
  {
    i++;
    <input name="department_chkbox" type="checkbox" value="@department.Key" id="department_chkbox@(i)" /><label for="department_chkbox@(i)">@department.Value</label>
  }
</div>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...