網站首頁 編程語言 正文
借助Chosen Plugin可以實現多選下拉框。
選擇多項:
設置選項數量,比如設置最多允許2個選項:
Model模塊
考慮到多選下拉<select multiple="multiple"...></select>選中項是string數組,Model應該這樣設計:
using System.Collections.Generic;
using System.Web.Mvc;
namespace MvcApplication1.Models
{
public class CarVm
{
public string[] SelectedCars { get; set; }
public IEnumerable<SelectListItem> AllCars { get; set; }
}
}
HomeController中:
using System.Collections.Generic;
using System.Linq;
using System.Web.Mvc;
using MvcApplication1.Models;
namespace MvcApplication1.Controllers
{
public class HomeController : Controller
{
public ActionResult Index()
{
CarVm carVm = new CarVm();
carVm.SelectedCars = new string[]{"1","2"};
carVm.AllCars = GetAllCars();
return View(carVm);
}
[HttpPost]
public ActionResult SaveCars(CarVm carVm)
{
if (ModelState.IsValid)
{
return View(carVm);
}
return RedirectToAction("Index", carVm);
}
private IEnumerable<SelectListItem> GetAllCars()
{
List<SelectListItem> allCars = new List<SelectListItem>();
allCars.Add(new SelectListItem() {Value = "1",Text = "奔馳"});
allCars.Add(new SelectListItem() { Value = "2", Text = "寶馬" });
allCars.Add(new SelectListItem() { Value = "3", Text = "奇瑞" });
allCars.Add(new SelectListItem() { Value = "4", Text = "比亞迪" });
allCars.Add(new SelectListItem() { Value = "5", Text = "起亞" });
allCars.Add(new SelectListItem() { Value = "6", Text = "大眾" });
allCars.Add(new SelectListItem() { Value = "7", Text = "斯柯達" });
allCars.Add(new SelectListItem() { Value = "8", Text = "豐田" });
allCars.Add(new SelectListItem() { Value = "9", Text = "本田" });
return allCars.AsEnumerable();
}
}
}
視圖
Home/Index.cshtml視圖中,需要引用Chosen Plugin的css和js文件:
@model MvcApplication1.Models.CarVm
@{
ViewBag.Title = "Index";
Layout = "~/Views/Shared/_Layout.cshtml";
}
<h2>Index</h2>
<link href="~/Content/chosen.css" />
@using (Html.BeginForm("SaveCars", "Home", FormMethod.Post))
{
@Html.LabelFor(m => m.SelectedCars,"最多選擇2個選項") <br/>
@Html.ListBoxFor(m => m.SelectedCars, Model.AllCars, new {@class="chosen", multiple="multiple", style="width:350px;"}) <br/>
<input type="submit" value="提交"/>
}
@section scripts
{
<script src="~/Scripts/chosen.jquery.min.js"></script>
<script type="text/javascript">
$(function() {
$('.chosen').chosen({
max_selected_options: 2
});
$(".chosen-deselect").chosen(
{
allow_single_deselect: true
});
$(".chosen").chosen().change();
$(".chosen").trigger('liszt:updated');
});
</script>
}
原文鏈接:https://www.cnblogs.com/darrenji/p/3763681.html
相關推薦
- 2023-01-07 Flutter基于Dart?Unwrapping?Multiple?Optional小技巧_Andr
- 2022-06-02 jquery實現淘寶商品圖片局部放大_jquery
- 2022-06-13 安裝Docker配置阿里云鏡像加速(圖文教程)_docker
- 2022-06-09 Python中re模塊的元字符使用小結_python
- 2022-10-03 正則表達式中^和$的含義與實例代碼_正則表達式
- 2022-07-09 給復雜的數組結構數據換key
- 2023-03-20 解讀C#中ReadString的一些小疑惑_C#教程
- 2022-01-11 web:war 和 web:war exploded 遇到的坑
- 最近更新
-
- window11 系統安裝 yarn
- 超詳細win安裝深度學習環境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權
- redisson分布式鎖中waittime的設
- maven:解決release錯誤:Artif
- restTemplate使用總結
- Spring Security之安全異常處理
- MybatisPlus優雅實現加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務發現-Nac
- Spring Security之基于HttpR
- Redis 底層數據結構-簡單動態字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應用詳解
- 聊聊消息隊列,發送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支