ユーザーがCtrlボタンを押して複数の要素を選択する必要のない、見栄えの良いリストボックスを完成させることができました。私の作品をあなたと共有したいと思います。私は、MartinHN によって提案された素晴らしい拡張 CheckBoxListFor を使用しました。この Web サイトMvcCheckBoxListで見つけることができます。
マイ ビュー コード
@{
var htmlListInfo = new HtmlListInfo(HtmlTag.vertical_columns, 0 , new { @class="styled_list" });
@Html.CheckBoxListFor(model => model.ReportSettings.Ids,
model => model.AvailableGraphs,
graph => graph.Id,
graph => graph.Name,
model => model.SelectedGraphs,
new { @class="styled_checkbox" },
htmlListInfo,
null,
x => x.Name)
}
私のCSS:
input.styled_checkbox, input[type="checkbox"]
{
visibility: hidden;
width: 0px;
}
.styled_list
{
background: #aeeefb;
border-radius:5px;
padding: 10px 10px 10px 0;
color: White;
font-weight: bold;
}
.styled_checkbox
{
background: #69D2E7;
cursor: pointer;
display: inline-block;
vertical-align: middle;
margin: 3px 0 3px 0;
padding: 5px;
position: relative;
width: 250px;
border-radius:5px;
}
.styled_checkbox:hover
{
opacity: 0.7;
}
.styled_checkbox:checked+label
{
background: #1a9eed;
}
チェック ボックスは非表示になり、ラベルは要素が選択されているかどうかを示します。写真を挿入することはできませんが、見栄えは良いですが、必要に応じてスタイルを編集することもできます。
誰にも役立つことを願っています